diff --git a/bin/json/game_passcheck.json b/bin/json/game_passcheck.json
new file mode 100644
index 000000000..8235eefd2
--- /dev/null
+++ b/bin/json/game_passcheck.json
@@ -0,0 +1,202 @@
+[
+ {
+ "id": 10001,
+ "passcheck_type": 1,
+ "parameter": 5,
+ "unlock_text": {
+ "key": "passcheck_10001",
+ "text": ""
+ },
+ "free_reward": {
+ "a": "attr",
+ "t": "diamond",
+ "n": 30
+ },
+ "pay_reward": {
+ "a": "attr",
+ "t": "diamond",
+ "n": 300
+ },
+ "pay_id": "passcheck_1"
+ },
+ {
+ "id": 10002,
+ "passcheck_type": 1,
+ "parameter": 10,
+ "unlock_text": {
+ "key": "passcheck_10002",
+ "text": ""
+ },
+ "free_reward": {
+ "a": "attr",
+ "t": "diamond",
+ "n": 30
+ },
+ "pay_reward": {
+ "a": "attr",
+ "t": "diamond",
+ "n": 300
+ },
+ "pay_id": "passcheck_1"
+ },
+ {
+ "id": 10003,
+ "passcheck_type": 1,
+ "parameter": 15,
+ "unlock_text": {
+ "key": "passcheck_10003",
+ "text": ""
+ },
+ "free_reward": {
+ "a": "attr",
+ "t": "diamond",
+ "n": 30
+ },
+ "pay_reward": {
+ "a": "attr",
+ "t": "diamond",
+ "n": 300
+ },
+ "pay_id": "passcheck_1"
+ },
+ {
+ "id": 10004,
+ "passcheck_type": 1,
+ "parameter": 20,
+ "unlock_text": {
+ "key": "passcheck_10004",
+ "text": ""
+ },
+ "free_reward": {
+ "a": "attr",
+ "t": "diamond",
+ "n": 30
+ },
+ "pay_reward": {
+ "a": "attr",
+ "t": "diamond",
+ "n": 300
+ },
+ "pay_id": "passcheck_1"
+ },
+ {
+ "id": 10005,
+ "passcheck_type": 1,
+ "parameter": 25,
+ "unlock_text": {
+ "key": "passcheck_10005",
+ "text": ""
+ },
+ "free_reward": {
+ "a": "attr",
+ "t": "diamond",
+ "n": 30
+ },
+ "pay_reward": {
+ "a": "attr",
+ "t": "diamond",
+ "n": 300
+ },
+ "pay_id": "passcheck_1"
+ },
+ {
+ "id": 10006,
+ "passcheck_type": 1,
+ "parameter": 30,
+ "unlock_text": {
+ "key": "passcheck_10006",
+ "text": ""
+ },
+ "free_reward": {
+ "a": "attr",
+ "t": "diamond",
+ "n": 30
+ },
+ "pay_reward": {
+ "a": "attr",
+ "t": "diamond",
+ "n": 300
+ },
+ "pay_id": "passcheck_1"
+ },
+ {
+ "id": 10007,
+ "passcheck_type": 1,
+ "parameter": 35,
+ "unlock_text": {
+ "key": "passcheck_10007",
+ "text": ""
+ },
+ "free_reward": {
+ "a": "attr",
+ "t": "diamond",
+ "n": 30
+ },
+ "pay_reward": {
+ "a": "attr",
+ "t": "diamond",
+ "n": 300
+ },
+ "pay_id": "passcheck_1"
+ },
+ {
+ "id": 10008,
+ "passcheck_type": 1,
+ "parameter": 40,
+ "unlock_text": {
+ "key": "passcheck_10008",
+ "text": ""
+ },
+ "free_reward": {
+ "a": "attr",
+ "t": "diamond",
+ "n": 30
+ },
+ "pay_reward": {
+ "a": "attr",
+ "t": "diamond",
+ "n": 300
+ },
+ "pay_id": "passcheck_1"
+ },
+ {
+ "id": 10009,
+ "passcheck_type": 1,
+ "parameter": 45,
+ "unlock_text": {
+ "key": "passcheck_10009",
+ "text": ""
+ },
+ "free_reward": {
+ "a": "attr",
+ "t": "diamond",
+ "n": 30
+ },
+ "pay_reward": {
+ "a": "attr",
+ "t": "diamond",
+ "n": 300
+ },
+ "pay_id": "passcheck_1"
+ },
+ {
+ "id": 10010,
+ "passcheck_type": 1,
+ "parameter": 50,
+ "unlock_text": {
+ "key": "passcheck_10010",
+ "text": ""
+ },
+ "free_reward": {
+ "a": "attr",
+ "t": "diamond",
+ "n": 30
+ },
+ "pay_reward": {
+ "a": "attr",
+ "t": "diamond",
+ "n": 300
+ },
+ "pay_id": "passcheck_1"
+ }
+]
\ No newline at end of file
diff --git a/bin/json/game_privilege.json b/bin/json/game_privilege.json
index 9c3a63eeb..245465760 100644
--- a/bin/json/game_privilege.json
+++ b/bin/json/game_privilege.json
@@ -1,44 +1,79 @@
[
{
"privilege_id": 10001,
- "privilege_describe": {
- "key": "privilegecard_10001",
+ "privilege_DescribeFront": {
+ "key": "PrivilegeCardFront_10001",
+ "text": "特权描述1"
+ },
+ "privilege_DescribeAfter": {
+ "key": "PrivilegeCardAfter_10001",
"text": "特权描述1"
}
},
{
"privilege_id": 10002,
- "privilege_describe": {
- "key": "privilegecard_10002",
+ "privilege_DescribeFront": {
+ "key": "PrivilegeCardFront_10002",
+ "text": "特权描述2"
+ },
+ "privilege_DescribeAfter": {
+ "key": "PrivilegeCardAfter_10002",
"text": "特权描述2"
}
},
{
"privilege_id": 10003,
- "privilege_describe": {
- "key": "privilegecard_10003",
+ "privilege_DescribeFront": {
+ "key": "PrivilegeCardFront_10003",
+ "text": "特权描述3"
+ },
+ "privilege_DescribeAfter": {
+ "key": "PrivilegeCardAfter_10003",
"text": "特权描述3"
}
},
{
"privilege_id": 10004,
- "privilege_describe": {
- "key": "privilegecard_10004",
+ "privilege_DescribeFront": {
+ "key": "PrivilegeCardFront_10004",
+ "text": "特权描述4"
+ },
+ "privilege_DescribeAfter": {
+ "key": "PrivilegeCardAfter_10004",
"text": "特权描述4"
}
},
{
"privilege_id": 10005,
- "privilege_describe": {
- "key": "privilegecard_10005",
+ "privilege_DescribeFront": {
+ "key": "PrivilegeCardFront_10005",
+ "text": "特权描述5"
+ },
+ "privilege_DescribeAfter": {
+ "key": "PrivilegeCardAfter_10005",
"text": "特权描述5"
}
},
{
"privilege_id": 10006,
- "privilege_describe": {
- "key": "privilegecard_10006",
+ "privilege_DescribeFront": {
+ "key": "PrivilegeCardFront_10006",
"text": "特权描述6"
+ },
+ "privilege_DescribeAfter": {
+ "key": "PrivilegeCardAfter_10006",
+ "text": "特权描述6"
+ }
+ },
+ {
+ "privilege_id": 10007,
+ "privilege_DescribeFront": {
+ "key": "PrivilegeCardFront_10007",
+ "text": "特权描述7"
+ },
+ "privilege_DescribeAfter": {
+ "key": "PrivilegeCardAfter_10007",
+ "text": "特权描述7"
}
}
]
\ No newline at end of file
diff --git a/bin/json/game_privilegecard.json b/bin/json/game_privilegecard.json
index 8958c0ea6..a640f6cc0 100644
--- a/bin/json/game_privilegecard.json
+++ b/bin/json/game_privilegecard.json
@@ -11,11 +11,13 @@
"n": 60
}
],
- "disposable_reward": {
- "a": "attr",
- "t": "diamond",
- "n": 300
- },
+ "disposable_reward": [
+ {
+ "a": "attr",
+ "t": "diamond",
+ "n": 300
+ }
+ ],
"privilege_id": [
10001,
10002,
@@ -34,15 +36,28 @@
"n": 90
}
],
- "disposable_reward": {
- "a": "attr",
- "t": "diamond",
- "n": 980
- },
+ "disposable_reward": [
+ {
+ "a": "attr",
+ "t": "diamond",
+ "n": 980
+ }
+ ],
"privilege_id": [
10004,
10005,
10006
]
+ },
+ {
+ "id": "passcheck_1",
+ "name": "爬塔战令",
+ "assert_day": 30,
+ "renew_day": 0,
+ "day_reward": [],
+ "disposable_reward": [],
+ "privilege_id": [
+ 10007
+ ]
}
]
\ No newline at end of file
diff --git a/modules/pagoda/api_passcheck.go b/modules/pagoda/api_passcheck.go
new file mode 100644
index 000000000..9c155c3f2
--- /dev/null
+++ b/modules/pagoda/api_passcheck.go
@@ -0,0 +1,28 @@
+package pagoda
+
+import (
+ "go_dreamfactory/comm"
+ "go_dreamfactory/pb"
+
+ "google.golang.org/protobuf/proto"
+)
+
+//参数校验
+func (this *apiComp) PassCheckCheck(session comm.IUserSession, req *pb.PagodaPassCheckReq) (code pb.ErrorCode) {
+
+ return
+}
+
+func (this *apiComp) PassCheck(session comm.IUserSession, req *pb.PagodaPassCheckReq) (code pb.ErrorCode, data proto.Message) {
+ var (
+ list *pb.DBPagoda
+ )
+ this.PassCheckCheck(session, req)
+
+ list, _ = this.module.modelSeasonPagoda.getSeasonPagodaList(session.GetUserId())
+ if list.Id == "" {
+ list.Complete = true
+ }
+ session.SendMsg(string(this.module.GetType()), PagodaGetListResp, &pb.PagodaGetListResp{Data: list})
+ return
+}
diff --git a/modules/privilege/module.go b/modules/privilege/module.go
index c8b69aed8..260e6f8d8 100644
--- a/modules/privilege/module.go
+++ b/modules/privilege/module.go
@@ -7,7 +7,6 @@ import (
"go_dreamfactory/modules"
"go_dreamfactory/pb"
"go_dreamfactory/sys/configure"
- cfg "go_dreamfactory/sys/configure/structs"
"go_dreamfactory/sys/db"
"go_dreamfactory/utils"
@@ -123,16 +122,19 @@ func (this *Privilege) CreatePrivilegeCard(session comm.IUserSession, cId string
this.SendDailyMail(session, session.GetUserId(), 1)
}
- if code = this.DispenseRes(session, []*cfg.Gameatn{conf.DisposableReward}, true); code != pb.ErrorCode_Success {
+ if code = this.DispenseRes(session, conf.DisposableReward, true); code != pb.ErrorCode_Success {
return
}
atn.T = conf.Id
res = append(res, atn) // 加资源
- res = append(res, &pb.UserAssets{
- A: conf.DisposableReward.A,
- T: conf.DisposableReward.T,
- N: conf.DisposableReward.N,
- })
+ for _, v := range conf.DisposableReward {
+ res = append(res, &pb.UserAssets{
+ A: v.A,
+ T: v.T,
+ N: v.N,
+ })
+ }
+
// 推送
session.SendMsg(string(this.GetType()), PrivilegeGetListResp, &pb.PrivilegeGetListResp{Data: []*pb.DBPrivilege{data}})
return
@@ -163,18 +165,21 @@ func (this *Privilege) RenewPrivilegeCard(session comm.IUserSession, cId string)
mapData["eTime"] = v.ETime
this.modelPrivilege.modifyPrivilegeData(session.GetUserId(), v.Id, mapData)
// 发放奖励
- if code = this.DispenseRes(session, []*cfg.Gameatn{conf.DisposableReward}, true); code != pb.ErrorCode_Success {
+ if code = this.DispenseRes(session, conf.DisposableReward, true); code != pb.ErrorCode_Success {
break
}
session.SendMsg(string(this.GetType()), PrivilegeGetListResp, &pb.PrivilegeGetListResp{Data: []*pb.DBPrivilege{v}})
atn.T = conf.Id
res = append(res, atn) // 加资源
- res = append(res, &pb.UserAssets{
- A: conf.DisposableReward.A,
- T: conf.DisposableReward.T,
- N: conf.DisposableReward.N,
- })
+ for _, v := range conf.DisposableReward {
+ res = append(res, &pb.UserAssets{
+ A: v.A,
+ T: v.T,
+ N: v.N,
+ })
+ }
+
} else {
code = pb.ErrorCode_PrivilegeRenewTime
}
diff --git a/modules/user/api_create.go b/modules/user/api_create.go
index 3aa95ce8e..0e8da982f 100644
--- a/modules/user/api_create.go
+++ b/modules/user/api_create.go
@@ -82,5 +82,9 @@ func (this *apiComp) Create(session comm.IUserSession, req *pb.UserCreateReq) (c
if err := session.SendMsg(string(this.module.GetType()), UserSubTypeCreate, &pb.UserCreateResp{IsSucc: true}); err != nil {
code = pb.ErrorCode_SystemError
}
+
+ if req.Figure != 0 {
+ this.module.ModuleRtask.SendToRtask(session, comm.Rtype72, 1)
+ }
return
}
diff --git a/pb/pagoda_db.pb.go b/pb/pagoda_db.pb.go
index 6a808b331..8808b7b70 100644
--- a/pb/pagoda_db.pb.go
+++ b/pb/pagoda_db.pb.go
@@ -20,18 +20,19 @@ const (
_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
)
-//普通塔
type DBPagoda struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
- Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id" bson:"_id"` //ID
- Uid string `protobuf:"bytes,2,opt,name=uid,proto3" json:"uid" bson:"uid"` //用户ID
- PagodaId int32 `protobuf:"varint,3,opt,name=pagodaId,proto3" json:"pagodaId" bson:"pagodaId"` //塔层
- Reward map[int32]bool `protobuf:"bytes,4,rep,name=reward,proto3" json:"reward" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` // 是否领奖
- Type int32 `protobuf:"varint,5,opt,name=type,proto3" json:"type"`
- Complete bool `protobuf:"varint,6,opt,name=complete,proto3" json:"complete"` // 是否通关
+ Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id" bson:"_id"` //ID
+ Uid string `protobuf:"bytes,2,opt,name=uid,proto3" json:"uid" bson:"uid"` //用户ID
+ PagodaId int32 `protobuf:"varint,3,opt,name=pagodaId,proto3" json:"pagodaId" bson:"pagodaId"` //塔层
+ Reward map[int32]bool `protobuf:"bytes,4,rep,name=reward,proto3" json:"reward" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` // 是否领奖
+ Type int32 `protobuf:"varint,5,opt,name=type,proto3" json:"type"`
+ Complete bool `protobuf:"varint,6,opt,name=complete,proto3" json:"complete"` // 是否通关
+ PassCheckID int32 `protobuf:"varint,7,opt,name=passCheckID,proto3" json:"passCheckID"` // 战令领奖ID
+ VipPassCheckID int32 `protobuf:"varint,8,opt,name=vipPassCheckID,proto3" json:"vipPassCheckID"` // vip战令领奖ID
}
func (x *DBPagoda) Reset() {
@@ -108,6 +109,20 @@ func (x *DBPagoda) GetComplete() bool {
return false
}
+func (x *DBPagoda) GetPassCheckID() int32 {
+ if x != nil {
+ return x.PassCheckID
+ }
+ return 0
+}
+
+func (x *DBPagoda) GetVipPassCheckID() int32 {
+ if x != nil {
+ return x.VipPassCheckID
+ }
+ return 0
+}
+
// 爬塔数据明细
type DBPagodaRecord struct {
state protoimpl.MessageState
@@ -234,7 +249,7 @@ var file_pagoda_pagoda_db_proto_rawDesc = []byte{
0x0a, 0x16, 0x70, 0x61, 0x67, 0x6f, 0x64, 0x61, 0x2f, 0x70, 0x61, 0x67, 0x6f, 0x64, 0x61, 0x5f,
0x64, 0x62, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x62, 0x61, 0x74, 0x74, 0x6c, 0x65,
0x2f, 0x62, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x5f, 0x6d, 0x73, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74,
- 0x6f, 0x22, 0xe2, 0x01, 0x0a, 0x08, 0x44, 0x42, 0x50, 0x61, 0x67, 0x6f, 0x64, 0x61, 0x12, 0x0e,
+ 0x6f, 0x22, 0xac, 0x02, 0x0a, 0x08, 0x44, 0x42, 0x50, 0x61, 0x67, 0x6f, 0x64, 0x61, 0x12, 0x0e,
0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x10,
0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x69, 0x64,
0x12, 0x1a, 0x0a, 0x08, 0x70, 0x61, 0x67, 0x6f, 0x64, 0x61, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01,
@@ -244,27 +259,32 @@ var file_pagoda_pagoda_db_proto_rawDesc = []byte{
0x74, 0x72, 0x79, 0x52, 0x06, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x74,
0x79, 0x70, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12,
0x1a, 0x0a, 0x08, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28,
- 0x08, 0x52, 0x08, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x1a, 0x39, 0x0a, 0x0b, 0x52,
- 0x65, 0x77, 0x61, 0x72, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65,
- 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 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, 0x22, 0xf5, 0x01, 0x0a, 0x0e, 0x44, 0x42, 0x50, 0x61, 0x67,
- 0x6f, 0x64, 0x61, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18,
- 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64,
- 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x69, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x70,
- 0x61, 0x67, 0x6f, 0x64, 0x61, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70,
- 0x61, 0x67, 0x6f, 0x64, 0x61, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18,
- 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x74, 0x79, 0x70, 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, 0x12, 0x0a, 0x04, 0x69, 0x63, 0x6f, 0x6e, 0x18,
- 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x69, 0x63, 0x6f, 0x6e, 0x12, 0x0e, 0x0a, 0x02, 0x6c,
- 0x76, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x6c, 0x76, 0x12, 0x18, 0x0a, 0x07, 0x6c,
- 0x65, 0x61, 0x64, 0x70, 0x6f, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x6c, 0x65,
- 0x61, 0x64, 0x70, 0x6f, 0x73, 0x12, 0x1b, 0x0a, 0x04, 0x6c, 0x69, 0x6e, 0x65, 0x18, 0x09, 0x20,
- 0x03, 0x28, 0x0b, 0x32, 0x07, 0x2e, 0x4c, 0x69, 0x6e, 0x65, 0x55, 0x70, 0x52, 0x04, 0x6c, 0x69,
- 0x6e, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x6f, 0x73, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x0a,
- 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x63, 0x6f, 0x73, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x42, 0x06,
- 0x5a, 0x04, 0x2e, 0x3b, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+ 0x08, 0x52, 0x08, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x70,
+ 0x61, 0x73, 0x73, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x49, 0x44, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05,
+ 0x52, 0x0b, 0x70, 0x61, 0x73, 0x73, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x49, 0x44, 0x12, 0x26, 0x0a,
+ 0x0e, 0x76, 0x69, 0x70, 0x50, 0x61, 0x73, 0x73, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x49, 0x44, 0x18,
+ 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x76, 0x69, 0x70, 0x50, 0x61, 0x73, 0x73, 0x43, 0x68,
+ 0x65, 0x63, 0x6b, 0x49, 0x44, 0x1a, 0x39, 0x0a, 0x0b, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x45,
+ 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28,
+ 0x05, 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,
+ 0x22, 0xf5, 0x01, 0x0a, 0x0e, 0x44, 0x42, 0x50, 0x61, 0x67, 0x6f, 0x64, 0x61, 0x52, 0x65, 0x63,
+ 0x6f, 0x72, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
+ 0x02, 0x69, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09,
+ 0x52, 0x03, 0x75, 0x69, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x61, 0x67, 0x6f, 0x64, 0x61, 0x49,
+ 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, 0x6f, 0x64, 0x61, 0x49,
+ 0x64, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52,
+ 0x04, 0x74, 0x79, 0x70, 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, 0x12, 0x0a, 0x04, 0x69, 0x63, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52,
+ 0x04, 0x69, 0x63, 0x6f, 0x6e, 0x12, 0x0e, 0x0a, 0x02, 0x6c, 0x76, 0x18, 0x07, 0x20, 0x01, 0x28,
+ 0x05, 0x52, 0x02, 0x6c, 0x76, 0x12, 0x18, 0x0a, 0x07, 0x6c, 0x65, 0x61, 0x64, 0x70, 0x6f, 0x73,
+ 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x6c, 0x65, 0x61, 0x64, 0x70, 0x6f, 0x73, 0x12,
+ 0x1b, 0x0a, 0x04, 0x6c, 0x69, 0x6e, 0x65, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x07, 0x2e,
+ 0x4c, 0x69, 0x6e, 0x65, 0x55, 0x70, 0x52, 0x04, 0x6c, 0x69, 0x6e, 0x65, 0x12, 0x1a, 0x0a, 0x08,
+ 0x63, 0x6f, 0x73, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08,
+ 0x63, 0x6f, 0x73, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x3b, 0x70, 0x62,
+ 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
}
var (
diff --git a/pb/pagoda_msg.pb.go b/pb/pagoda_msg.pb.go
index d715d0307..0ed6e6184 100644
--- a/pb/pagoda_msg.pb.go
+++ b/pb/pagoda_msg.pb.go
@@ -714,6 +714,92 @@ func (x *PagodaActivateResp) GetData() *DBPagoda {
return nil
}
+// 领取战令奖励
+type PagodaPassCheckReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+}
+
+func (x *PagodaPassCheckReq) Reset() {
+ *x = PagodaPassCheckReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_pagoda_pagoda_msg_proto_msgTypes[14]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *PagodaPassCheckReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*PagodaPassCheckReq) ProtoMessage() {}
+
+func (x *PagodaPassCheckReq) ProtoReflect() protoreflect.Message {
+ mi := &file_pagoda_pagoda_msg_proto_msgTypes[14]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use PagodaPassCheckReq.ProtoReflect.Descriptor instead.
+func (*PagodaPassCheckReq) Descriptor() ([]byte, []int) {
+ return file_pagoda_pagoda_msg_proto_rawDescGZIP(), []int{14}
+}
+
+type PagodaPassCheckResp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Data *DBPagoda `protobuf:"bytes,1,opt,name=data,proto3" json:"data"`
+}
+
+func (x *PagodaPassCheckResp) Reset() {
+ *x = PagodaPassCheckResp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_pagoda_pagoda_msg_proto_msgTypes[15]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *PagodaPassCheckResp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*PagodaPassCheckResp) ProtoMessage() {}
+
+func (x *PagodaPassCheckResp) ProtoReflect() protoreflect.Message {
+ mi := &file_pagoda_pagoda_msg_proto_msgTypes[15]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use PagodaPassCheckResp.ProtoReflect.Descriptor instead.
+func (*PagodaPassCheckResp) Descriptor() ([]byte, []int) {
+ return file_pagoda_pagoda_msg_proto_rawDescGZIP(), []int{15}
+}
+
+func (x *PagodaPassCheckResp) GetData() *DBPagoda {
+ if x != nil {
+ return x.Data
+ }
+ return nil
+}
+
var File_pagoda_pagoda_msg_proto protoreflect.FileDescriptor
var file_pagoda_pagoda_msg_proto_rawDesc = []byte{
@@ -776,8 +862,12 @@ var file_pagoda_pagoda_msg_proto_rawDesc = []byte{
0x0a, 0x12, 0x50, 0x61, 0x67, 0x6f, 0x64, 0x61, 0x41, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x65,
0x52, 0x65, 0x73, 0x70, 0x12, 0x1d, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01,
0x28, 0x0b, 0x32, 0x09, 0x2e, 0x44, 0x42, 0x50, 0x61, 0x67, 0x6f, 0x64, 0x61, 0x52, 0x04, 0x64,
- 0x61, 0x74, 0x61, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x3b, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f,
- 0x74, 0x6f, 0x33,
+ 0x61, 0x74, 0x61, 0x22, 0x14, 0x0a, 0x12, 0x50, 0x61, 0x67, 0x6f, 0x64, 0x61, 0x50, 0x61, 0x73,
+ 0x73, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x22, 0x34, 0x0a, 0x13, 0x50, 0x61, 0x67,
+ 0x6f, 0x64, 0x61, 0x50, 0x61, 0x73, 0x73, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70,
+ 0x12, 0x1d, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x09,
+ 0x2e, 0x44, 0x42, 0x50, 0x61, 0x67, 0x6f, 0x64, 0x61, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x42,
+ 0x06, 0x5a, 0x04, 0x2e, 0x3b, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
}
var (
@@ -792,7 +882,7 @@ func file_pagoda_pagoda_msg_proto_rawDescGZIP() []byte {
return file_pagoda_pagoda_msg_proto_rawDescData
}
-var file_pagoda_pagoda_msg_proto_msgTypes = make([]protoimpl.MessageInfo, 14)
+var file_pagoda_pagoda_msg_proto_msgTypes = make([]protoimpl.MessageInfo, 16)
var file_pagoda_pagoda_msg_proto_goTypes = []interface{}{
(*PagodaGetListReq)(nil), // 0: PagodaGetListReq
(*PagodaGetListResp)(nil), // 1: PagodaGetListResp
@@ -808,27 +898,30 @@ var file_pagoda_pagoda_msg_proto_goTypes = []interface{}{
(*PagodaQueryRecordResp)(nil), // 11: PagodaQueryRecordResp
(*PagodaActivateReq)(nil), // 12: PagodaActivateReq
(*PagodaActivateResp)(nil), // 13: PagodaActivateResp
- (*DBPagoda)(nil), // 14: DBPagoda
- (*BattleFormation)(nil), // 15: BattleFormation
- (*BattleInfo)(nil), // 16: BattleInfo
- (*BattleReport)(nil), // 17: BattleReport
- (*DBPagodaRecord)(nil), // 18: DBPagodaRecord
+ (*PagodaPassCheckReq)(nil), // 14: PagodaPassCheckReq
+ (*PagodaPassCheckResp)(nil), // 15: PagodaPassCheckResp
+ (*DBPagoda)(nil), // 16: DBPagoda
+ (*BattleFormation)(nil), // 17: BattleFormation
+ (*BattleInfo)(nil), // 18: BattleInfo
+ (*BattleReport)(nil), // 19: BattleReport
+ (*DBPagodaRecord)(nil), // 20: DBPagodaRecord
}
var file_pagoda_pagoda_msg_proto_depIdxs = []int32{
- 14, // 0: PagodaGetListResp.data:type_name -> DBPagoda
- 14, // 1: PagodaGetRewardResp.data:type_name -> DBPagoda
- 15, // 2: PagodaChallengeReq.battle:type_name -> BattleFormation
- 16, // 3: PagodaChallengeResp.info:type_name -> BattleInfo
- 17, // 4: PagodaChallengeOverReq.report:type_name -> BattleReport
- 14, // 5: PagodaChallengeOverResp.data:type_name -> DBPagoda
- 18, // 6: PagodaRankListResp.ranks:type_name -> DBPagodaRecord
- 18, // 7: PagodaQueryRecordResp.data:type_name -> DBPagodaRecord
- 14, // 8: PagodaActivateResp.data:type_name -> DBPagoda
- 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
+ 16, // 0: PagodaGetListResp.data:type_name -> DBPagoda
+ 16, // 1: PagodaGetRewardResp.data:type_name -> DBPagoda
+ 17, // 2: PagodaChallengeReq.battle:type_name -> BattleFormation
+ 18, // 3: PagodaChallengeResp.info:type_name -> BattleInfo
+ 19, // 4: PagodaChallengeOverReq.report:type_name -> BattleReport
+ 16, // 5: PagodaChallengeOverResp.data:type_name -> DBPagoda
+ 20, // 6: PagodaRankListResp.ranks:type_name -> DBPagodaRecord
+ 20, // 7: PagodaQueryRecordResp.data:type_name -> DBPagodaRecord
+ 16, // 8: PagodaActivateResp.data:type_name -> DBPagoda
+ 16, // 9: PagodaPassCheckResp.data:type_name -> DBPagoda
+ 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_pagoda_pagoda_msg_proto_init() }
@@ -1007,6 +1100,30 @@ func file_pagoda_pagoda_msg_proto_init() {
return nil
}
}
+ file_pagoda_pagoda_msg_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*PagodaPassCheckReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_pagoda_pagoda_msg_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*PagodaPassCheckResp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
}
type x struct{}
out := protoimpl.TypeBuilder{
@@ -1014,7 +1131,7 @@ func file_pagoda_pagoda_msg_proto_init() {
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: file_pagoda_pagoda_msg_proto_rawDesc,
NumEnums: 0,
- NumMessages: 14,
+ NumMessages: 16,
NumExtensions: 0,
NumServices: 0,
},
diff --git a/sys/configure/structs/Game.PassCheck.go b/sys/configure/structs/Game.PassCheck.go
new file mode 100644
index 000000000..f58834d1e
--- /dev/null
+++ b/sys/configure/structs/Game.PassCheck.go
@@ -0,0 +1,42 @@
+//------------------------------------------------------------------------------
+//
+// This code was generated by a tool.
+// Changes to this file may cause incorrect behavior and will be lost if
+// the code is regenerated.
+//
+//------------------------------------------------------------------------------
+
+package cfg
+
+type GamePassCheck struct {
+ _dataMap map[int32]*GamePassCheckData
+ _dataList []*GamePassCheckData
+}
+
+func NewGamePassCheck(_buf []map[string]interface{}) (*GamePassCheck, error) {
+ _dataList := make([]*GamePassCheckData, 0, len(_buf))
+ dataMap := make(map[int32]*GamePassCheckData)
+ for _, _ele_ := range _buf {
+ if _v, err2 := DeserializeGamePassCheckData(_ele_); err2 != nil {
+ return nil, err2
+ } else {
+ _dataList = append(_dataList, _v)
+ dataMap[_v.Id] = _v
+ }
+ }
+ return &GamePassCheck{_dataList:_dataList, _dataMap:dataMap}, nil
+}
+
+func (table *GamePassCheck) GetDataMap() map[int32]*GamePassCheckData {
+ return table._dataMap
+}
+
+func (table *GamePassCheck) GetDataList() []*GamePassCheckData {
+ return table._dataList
+}
+
+func (table *GamePassCheck) Get(key int32) *GamePassCheckData {
+ return table._dataMap[key]
+}
+
+
diff --git a/sys/configure/structs/Game.PassCheckData.go b/sys/configure/structs/Game.PassCheckData.go
new file mode 100644
index 000000000..f681173bd
--- /dev/null
+++ b/sys/configure/structs/Game.PassCheckData.go
@@ -0,0 +1,47 @@
+//------------------------------------------------------------------------------
+//
+// This code was generated by a tool.
+// Changes to this file may cause incorrect behavior and will be lost if
+// the code is regenerated.
+//
+//------------------------------------------------------------------------------
+
+package cfg
+
+import "errors"
+
+type GamePassCheckData struct {
+ Id int32
+ PasscheckType int32
+ Parameter int32
+ UnlockText string
+ FreeReward *Gameatn
+ PayReward *Gameatn
+ PayId string
+}
+
+const TypeId_GamePassCheckData = -880679227
+
+func (*GamePassCheckData) GetTypeId() int32 {
+ return -880679227
+}
+
+func (_v *GamePassCheckData)Deserialize(_buf map[string]interface{}) (err error) {
+ { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["id"].(float64); !_ok_ { err = errors.New("id error"); return }; _v.Id = int32(_tempNum_) }
+ { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["passcheck_type"].(float64); !_ok_ { err = errors.New("passcheck_type error"); return }; _v.PasscheckType = int32(_tempNum_) }
+ { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["parameter"].(float64); !_ok_ { err = errors.New("parameter error"); return }; _v.Parameter = int32(_tempNum_) }
+ {var _ok_ bool; var __json_text__ map[string]interface{}; if __json_text__, _ok_ = _buf["unlock_text"].(map[string]interface{}) ; !_ok_ { err = errors.New("_v.UnlockText error"); return }; { var _ok_ bool; if _, _ok_ = __json_text__["key"].(string); !_ok_ { err = errors.New("key error"); return } }; { var _ok_ bool; if _v.UnlockText, _ok_ = __json_text__["text"].(string); !_ok_ { err = errors.New("text error"); return } } }
+ { var _ok_ bool; var _x_ map[string]interface{}; if _x_, _ok_ = _buf["free_reward"].(map[string]interface{}); !_ok_ { err = errors.New("free_reward error"); return }; if _v.FreeReward, err = DeserializeGameatn(_x_); err != nil { return } }
+ { var _ok_ bool; var _x_ map[string]interface{}; if _x_, _ok_ = _buf["pay_reward"].(map[string]interface{}); !_ok_ { err = errors.New("pay_reward error"); return }; if _v.PayReward, err = DeserializeGameatn(_x_); err != nil { return } }
+ { var _ok_ bool; if _v.PayId, _ok_ = _buf["pay_id"].(string); !_ok_ { err = errors.New("pay_id error"); return } }
+ return
+}
+
+func DeserializeGamePassCheckData(_buf map[string]interface{}) (*GamePassCheckData, error) {
+ v := &GamePassCheckData{}
+ if err := v.Deserialize(_buf); err == nil {
+ return v, nil
+ } else {
+ return nil, err
+ }
+}
diff --git a/sys/configure/structs/Game.PrivilegeCardData.go b/sys/configure/structs/Game.PrivilegeCardData.go
index 9644b5989..76b9c4793 100644
--- a/sys/configure/structs/Game.PrivilegeCardData.go
+++ b/sys/configure/structs/Game.PrivilegeCardData.go
@@ -16,7 +16,7 @@ type GamePrivilegeCardData struct {
AssertDay int32
RenewDay int32
DayReward []*Gameatn
- DisposableReward *Gameatn
+ DisposableReward []*Gameatn
PrivilegeId []int32
}
@@ -45,7 +45,20 @@ func (_v *GamePrivilegeCardData)Deserialize(_buf map[string]interface{}) (err er
}
}
- { var _ok_ bool; var _x_ map[string]interface{}; if _x_, _ok_ = _buf["disposable_reward"].(map[string]interface{}); !_ok_ { err = errors.New("disposable_reward error"); return }; if _v.DisposableReward, err = DeserializeGameatn(_x_); err != nil { return } }
+ {
+ var _arr_ []interface{}
+ var _ok_ bool
+ if _arr_, _ok_ = _buf["disposable_reward"].([]interface{}); !_ok_ { err = errors.New("disposable_reward error"); return }
+
+ _v.DisposableReward = make([]*Gameatn, 0, len(_arr_))
+
+ for _, _e_ := range _arr_ {
+ var _list_v_ *Gameatn
+ { var _ok_ bool; var _x_ map[string]interface{}; if _x_, _ok_ = _e_.(map[string]interface{}); !_ok_ { err = errors.New("_list_v_ error"); return }; if _list_v_, err = DeserializeGameatn(_x_); err != nil { return } }
+ _v.DisposableReward = append(_v.DisposableReward, _list_v_)
+ }
+ }
+
{
var _arr_ []interface{}
var _ok_ bool
diff --git a/sys/configure/structs/Game.PrivilegeData.go b/sys/configure/structs/Game.PrivilegeData.go
index cfbc9f5a4..94bc9a1ef 100644
--- a/sys/configure/structs/Game.PrivilegeData.go
+++ b/sys/configure/structs/Game.PrivilegeData.go
@@ -12,7 +12,8 @@ import "errors"
type GamePrivilegeData struct {
PrivilegeId int32
- PrivilegeDescribe string
+ PrivilegeDescribeFront string
+ PrivilegeDescribeAfter string
}
const TypeId_GamePrivilegeData = 40320255
@@ -23,7 +24,8 @@ func (*GamePrivilegeData) GetTypeId() int32 {
func (_v *GamePrivilegeData)Deserialize(_buf map[string]interface{}) (err error) {
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["privilege_id"].(float64); !_ok_ { err = errors.New("privilege_id error"); return }; _v.PrivilegeId = int32(_tempNum_) }
- {var _ok_ bool; var __json_text__ map[string]interface{}; if __json_text__, _ok_ = _buf["privilege_describe"].(map[string]interface{}) ; !_ok_ { err = errors.New("_v.PrivilegeDescribe error"); return }; { var _ok_ bool; if _, _ok_ = __json_text__["key"].(string); !_ok_ { err = errors.New("key error"); return } }; { var _ok_ bool; if _v.PrivilegeDescribe, _ok_ = __json_text__["text"].(string); !_ok_ { err = errors.New("text error"); return } } }
+ {var _ok_ bool; var __json_text__ map[string]interface{}; if __json_text__, _ok_ = _buf["privilege_DescribeFront"].(map[string]interface{}) ; !_ok_ { err = errors.New("_v.PrivilegeDescribeFront error"); return }; { var _ok_ bool; if _, _ok_ = __json_text__["key"].(string); !_ok_ { err = errors.New("key error"); return } }; { var _ok_ bool; if _v.PrivilegeDescribeFront, _ok_ = __json_text__["text"].(string); !_ok_ { err = errors.New("text error"); return } } }
+ {var _ok_ bool; var __json_text__ map[string]interface{}; if __json_text__, _ok_ = _buf["privilege_DescribeAfter"].(map[string]interface{}) ; !_ok_ { err = errors.New("_v.PrivilegeDescribeAfter error"); return }; { var _ok_ bool; if _, _ok_ = __json_text__["key"].(string); !_ok_ { err = errors.New("key error"); return } }; { var _ok_ bool; if _v.PrivilegeDescribeAfter, _ok_ = __json_text__["text"].(string); !_ok_ { err = errors.New("text error"); return } } }
return
}
diff --git a/sys/configure/structs/Tables.go b/sys/configure/structs/Tables.go
index b3c594f2e..fa3a6c085 100644
--- a/sys/configure/structs/Tables.go
+++ b/sys/configure/structs/Tables.go
@@ -124,6 +124,7 @@ type Tables struct {
Privilege *GamePrivilege
Sign *GameSign
SignReset *GameSignReset
+ PassCheck *GamePassCheck
}
func NewTables(loader JsonLoader) (*Tables, error) {
@@ -809,5 +810,11 @@ func NewTables(loader JsonLoader) (*Tables, error) {
if tables.SignReset, err = NewGameSignReset(buf); err != nil {
return nil, err
}
+ if buf, err = loader("game_passcheck") ; err != nil {
+ return nil, err
+ }
+ if tables.PassCheck, err = NewGamePassCheck(buf) ; err != nil {
+ return nil, err
+ }
return tables, nil
}