This commit is contained in:
liwei1dao 2023-02-09 15:15:17 +08:00
commit e702895547
8 changed files with 262 additions and 28 deletions

View File

@ -37,7 +37,7 @@
}, },
"ips": "10.0.0.238:7891", "ips": "10.0.0.238:7891",
"debug": true, "debug": true,
"sid": "dfz" "sid": "dfz01"
}, },
{ {
"index": 5, "index": 5,

View File

@ -539,6 +539,10 @@
20, 20,
30 30
], ],
"generaltp": "500000" "generaltp": {
"a": "item",
"t": "500000",
"n": 0
}
} }
] ]

View File

@ -9,6 +9,10 @@
{ {
"key": 1, "key": 1,
"param": 1 "param": 1
},
{
"key": 2,
"param": 1100101
} }
], ],
"optional": "", "optional": "",
@ -31,6 +35,10 @@
{ {
"key": 1, "key": 1,
"param": 1 "param": 1
},
{
"key": 2,
"param": 1100101
} }
], ],
"optional": "", "optional": "",
@ -53,6 +61,10 @@
{ {
"key": 1, "key": 1,
"param": 1 "param": 1
},
{
"key": 2,
"param": 1100101
} }
], ],
"optional": "", "optional": "",
@ -75,6 +87,10 @@
{ {
"key": 1, "key": 1,
"param": 1 "param": 1
},
{
"key": 2,
"param": 1100101
} }
], ],
"optional": "", "optional": "",
@ -97,6 +113,10 @@
{ {
"key": 1, "key": 1,
"param": 1 "param": 1
},
{
"key": 2,
"param": 1100101
} }
], ],
"optional": "", "optional": "",
@ -119,6 +139,10 @@
{ {
"key": 1, "key": 1,
"param": 1 "param": 1
},
{
"key": 2,
"param": 1100101
} }
], ],
"optional": "", "optional": "",
@ -141,6 +165,10 @@
{ {
"key": 1, "key": 1,
"param": 1 "param": 1
},
{
"key": 2,
"param": 1100101
} }
], ],
"optional": "", "optional": "",
@ -163,6 +191,10 @@
{ {
"key": 1, "key": 1,
"param": 1 "param": 1
},
{
"key": 2,
"param": 1100101
} }
], ],
"optional": "", "optional": "",
@ -185,6 +217,10 @@
{ {
"key": 1, "key": 1,
"param": 1 "param": 1
},
{
"key": 2,
"param": 1100101
} }
], ],
"optional": "", "optional": "",
@ -207,6 +243,10 @@
{ {
"key": 1, "key": 1,
"param": 1 "param": 1
},
{
"key": 2,
"param": 1100101
} }
], ],
"optional": "", "optional": "",
@ -229,6 +269,10 @@
{ {
"key": 1, "key": 1,
"param": 1 "param": 1
},
{
"key": 2,
"param": 1100101
} }
], ],
"optional": "", "optional": "",
@ -251,6 +295,10 @@
{ {
"key": 1, "key": 1,
"param": 1 "param": 1
},
{
"key": 2,
"param": 1100101
} }
], ],
"optional": "", "optional": "",
@ -273,6 +321,10 @@
{ {
"key": 1, "key": 1,
"param": 1 "param": 1
},
{
"key": 2,
"param": 1100101
} }
], ],
"optional": "", "optional": "",
@ -295,6 +347,10 @@
{ {
"key": 1, "key": 1,
"param": 1 "param": 1
},
{
"key": 2,
"param": 1100101
} }
], ],
"optional": "", "optional": "",
@ -317,6 +373,10 @@
{ {
"key": 1, "key": 1,
"param": 1 "param": 1
},
{
"key": 2,
"param": 1100101
} }
], ],
"optional": "", "optional": "",
@ -339,6 +399,10 @@
{ {
"key": 1, "key": 1,
"param": 1 "param": 1
},
{
"key": 2,
"param": 1100101
} }
], ],
"optional": "", "optional": "",
@ -361,6 +425,10 @@
{ {
"key": 1, "key": 1,
"param": 1 "param": 1
},
{
"key": 2,
"param": 1100101
} }
], ],
"optional": "", "optional": "",
@ -383,6 +451,10 @@
{ {
"key": 1, "key": 1,
"param": 1 "param": 1
},
{
"key": 2,
"param": 1100101
} }
], ],
"optional": "", "optional": "",
@ -405,6 +477,10 @@
{ {
"key": 1, "key": 1,
"param": 1 "param": 1
},
{
"key": 2,
"param": 1100101
} }
], ],
"optional": "", "optional": "",
@ -427,6 +503,10 @@
{ {
"key": 1, "key": 1,
"param": 1 "param": 1
},
{
"key": 2,
"param": 1100101
} }
], ],
"optional": "", "optional": "",
@ -449,6 +529,10 @@
{ {
"key": 1, "key": 1,
"param": 1 "param": 1
},
{
"key": 2,
"param": 1100101
} }
], ],
"optional": "", "optional": "",
@ -471,6 +555,10 @@
{ {
"key": 1, "key": 1,
"param": 1 "param": 1
},
{
"key": 2,
"param": 1100101
} }
], ],
"optional": "", "optional": "",
@ -493,6 +581,10 @@
{ {
"key": 1, "key": 1,
"param": 1 "param": 1
},
{
"key": 2,
"param": 1100101
} }
], ],
"optional": "", "optional": "",
@ -515,6 +607,10 @@
{ {
"key": 1, "key": 1,
"param": 1 "param": 1
},
{
"key": 2,
"param": 1100101
} }
], ],
"optional": "", "optional": "",
@ -537,6 +633,10 @@
{ {
"key": 1, "key": 1,
"param": 1 "param": 1
},
{
"key": 2,
"param": 1100101
} }
], ],
"optional": "", "optional": "",
@ -559,6 +659,10 @@
{ {
"key": 1, "key": 1,
"param": 1 "param": 1
},
{
"key": 2,
"param": 1100101
} }
], ],
"optional": "", "optional": "",
@ -581,6 +685,10 @@
{ {
"key": 1, "key": 1,
"param": 1 "param": 1
},
{
"key": 2,
"param": 1100101
} }
], ],
"optional": "", "optional": "",
@ -603,6 +711,10 @@
{ {
"key": 1, "key": 1,
"param": 1 "param": 1
},
{
"key": 2,
"param": 1100101
} }
], ],
"optional": "", "optional": "",
@ -647,6 +759,10 @@
{ {
"key": 1, "key": 1,
"param": 1 "param": 1
},
{
"key": 2,
"param": 1100101
} }
], ],
"optional": "", "optional": "",
@ -669,6 +785,10 @@
{ {
"key": 1, "key": 1,
"param": 1 "param": 1
},
{
"key": 2,
"param": 1100101
} }
], ],
"optional": "", "optional": "",
@ -691,6 +811,10 @@
{ {
"key": 1, "key": 1,
"param": 1 "param": 1
},
{
"key": 2,
"param": 1100101
} }
], ],
"optional": "", "optional": "",
@ -713,6 +837,10 @@
{ {
"key": 1, "key": 1,
"param": 1 "param": 1
},
{
"key": 2,
"param": 1100101
} }
], ],
"optional": "", "optional": "",
@ -735,6 +863,10 @@
{ {
"key": 1, "key": 1,
"param": 1 "param": 1
},
{
"key": 2,
"param": 1100101
} }
], ],
"optional": "", "optional": "",
@ -757,6 +889,10 @@
{ {
"key": 1, "key": 1,
"param": 1 "param": 1
},
{
"key": 2,
"param": 1100101
} }
], ],
"optional": "", "optional": "",
@ -779,6 +915,10 @@
{ {
"key": 1, "key": 1,
"param": 1 "param": 1
},
{
"key": 2,
"param": 1100101
} }
], ],
"optional": "", "optional": "",
@ -801,6 +941,10 @@
{ {
"key": 1, "key": 1,
"param": 1 "param": 1
},
{
"key": 2,
"param": 1100101
} }
], ],
"optional": "", "optional": "",
@ -823,6 +967,10 @@
{ {
"key": 1, "key": 1,
"param": 1 "param": 1
},
{
"key": 2,
"param": 1100101
} }
], ],
"optional": "", "optional": "",
@ -845,6 +993,10 @@
{ {
"key": 1, "key": 1,
"param": 1 "param": 1
},
{
"key": 2,
"param": 1100101
} }
], ],
"optional": "", "optional": "",
@ -867,6 +1019,10 @@
{ {
"key": 1, "key": 1,
"param": 1 "param": 1
},
{
"key": 2,
"param": 1100101
} }
], ],
"optional": "", "optional": "",
@ -889,6 +1045,10 @@
{ {
"key": 1, "key": 1,
"param": 1 "param": 1
},
{
"key": 2,
"param": 1100101
} }
], ],
"optional": "", "optional": "",
@ -911,6 +1071,10 @@
{ {
"key": 1, "key": 1,
"param": 1 "param": 1
},
{
"key": 2,
"param": 1100101
} }
], ],
"optional": "", "optional": "",
@ -933,6 +1097,10 @@
{ {
"key": 1, "key": 1,
"param": 1 "param": 1
},
{
"key": 2,
"param": 1100101
} }
], ],
"optional": "", "optional": "",
@ -955,6 +1123,10 @@
{ {
"key": 1, "key": 1,
"param": 1 "param": 1
},
{
"key": 2,
"param": 1100101
} }
], ],
"optional": "", "optional": "",
@ -977,6 +1149,10 @@
{ {
"key": 1, "key": 1,
"param": 1 "param": 1
},
{
"key": 2,
"param": 1100101
} }
], ],
"optional": "", "optional": "",
@ -999,6 +1175,10 @@
{ {
"key": 1, "key": 1,
"param": 1 "param": 1
},
{
"key": 2,
"param": 1100101
} }
], ],
"optional": "", "optional": "",
@ -1021,6 +1201,10 @@
{ {
"key": 1, "key": 1,
"param": 1 "param": 1
},
{
"key": 2,
"param": 1100101
} }
], ],
"optional": "", "optional": "",
@ -1109,6 +1293,10 @@
{ {
"key": 1, "key": 1,
"param": 1 "param": 1
},
{
"key": 2,
"param": 1100101
} }
], ],
"optional": "", "optional": "",
@ -1131,6 +1319,10 @@
{ {
"key": 1, "key": 1,
"param": 1 "param": 1
},
{
"key": 2,
"param": 1100101
} }
], ],
"optional": "", "optional": "",
@ -1153,6 +1345,10 @@
{ {
"key": 1, "key": 1,
"param": 1 "param": 1
},
{
"key": 2,
"param": 1100101
} }
], ],
"optional": "", "optional": "",
@ -1175,6 +1371,10 @@
{ {
"key": 1, "key": 1,
"param": 1 "param": 1
},
{
"key": 2,
"param": 1100101
} }
], ],
"optional": "", "optional": "",
@ -1197,6 +1397,10 @@
{ {
"key": 1, "key": 1,
"param": 1 "param": 1
},
{
"key": 2,
"param": 1100101
} }
], ],
"optional": "", "optional": "",
@ -1219,6 +1423,10 @@
{ {
"key": 1, "key": 1,
"param": 1 "param": 1
},
{
"key": 2,
"param": 1100101
} }
], ],
"optional": "", "optional": "",
@ -1241,6 +1449,10 @@
{ {
"key": 1, "key": 1,
"param": 1 "param": 1
},
{
"key": 2,
"param": 1100101
} }
], ],
"optional": "", "optional": "",
@ -1263,6 +1475,10 @@
{ {
"key": 1, "key": 1,
"param": 1 "param": 1
},
{
"key": 2,
"param": 1100101
} }
], ],
"optional": "", "optional": "",
@ -1285,6 +1501,10 @@
{ {
"key": 1, "key": 1,
"param": 1 "param": 1
},
{
"key": 2,
"param": 1100101
} }
], ],
"optional": "", "optional": "",
@ -1307,6 +1527,10 @@
{ {
"key": 1, "key": 1,
"param": 1 "param": 1
},
{
"key": 2,
"param": 1100101
} }
], ],
"optional": "", "optional": "",
@ -1329,6 +1553,10 @@
{ {
"key": 1, "key": 1,
"param": 1 "param": 1
},
{
"key": 2,
"param": 1100101
} }
], ],
"optional": "", "optional": "",

View File

@ -90,7 +90,7 @@ func (this *apiComp) DrawCard(session comm.IUserSession, req *pb.HeroDrawCardReq
if heroRecord.Inevitable == 0 && heroRecord.Drawcount > iStart && heroRecord.Drawcount < iEnd && iEnd >= iStart { if heroRecord.Inevitable == 0 && heroRecord.Drawcount > iStart && heroRecord.Drawcount < iEnd && iEnd >= iStart {
n, _ := rand.Int(rand.Reader, big.NewInt(int64(iEnd-iStart))) n, _ := rand.Int(rand.Reader, big.NewInt(int64(iEnd-iStart)))
if n.Int64() < 1 { // 抽中 if n.Int64() < 1 { // 抽中
starIndex = star starIndex = star - 3
heroRecord.Inevitable = heroRecord.Drawcount heroRecord.Inevitable = heroRecord.Drawcount
update["inevitable"] = heroRecord.Drawcount update["inevitable"] = heroRecord.Drawcount
szStar = append(szStar, star) szStar = append(szStar, star)
@ -106,7 +106,7 @@ func (this *apiComp) DrawCard(session comm.IUserSession, req *pb.HeroDrawCardReq
} }
// 保底情况 // 保底情况
if heroRecord.Drawcount == iEnd && heroRecord.Inevitable == 0 { if heroRecord.Drawcount == iEnd && heroRecord.Inevitable == 0 {
starIndex = star starIndex = star - 3
heroRecord.Inevitable = heroRecord.Drawcount heroRecord.Inevitable = heroRecord.Drawcount
update["inevitable"] = heroRecord.Drawcount update["inevitable"] = heroRecord.Drawcount
szStar = append(szStar, star) szStar = append(szStar, star)
@ -130,7 +130,7 @@ func (this *apiComp) DrawCard(session comm.IUserSession, req *pb.HeroDrawCardReq
if heroRecord.Inevitable == 0 && heroRecord.Drawcount > iStart && heroRecord.Drawcount < iEnd && iEnd >= iStart { if heroRecord.Inevitable == 0 && heroRecord.Drawcount > iStart && heroRecord.Drawcount < iEnd && iEnd >= iStart {
n, _ := rand.Int(rand.Reader, big.NewInt(int64(iEnd-iStart))) n, _ := rand.Int(rand.Reader, big.NewInt(int64(iEnd-iStart)))
if n.Int64() < 1 { // 抽中 if n.Int64() < 1 { // 抽中
starIndex = star starIndex = star - 3
heroRecord.Inevitable = heroRecord.Drawcount heroRecord.Inevitable = heroRecord.Drawcount
update["inevitable1"] = heroRecord.Drawcount update["inevitable1"] = heroRecord.Drawcount
szStar = append(szStar, star) szStar = append(szStar, star)
@ -151,7 +151,7 @@ func (this *apiComp) DrawCard(session comm.IUserSession, req *pb.HeroDrawCardReq
} }
// 保底情况 // 保底情况
if heroRecord.Drawcount == iEnd && heroRecord.Inevitable == 0 { if heroRecord.Drawcount == iEnd && heroRecord.Inevitable == 0 {
starIndex = star starIndex = star - 3
heroRecord.Inevitable1 = heroRecord.Drawcount heroRecord.Inevitable1 = heroRecord.Drawcount
update["inevitable1"] = heroRecord.Drawcount update["inevitable1"] = heroRecord.Drawcount
szStar = append(szStar, star) szStar = append(szStar, star)
@ -173,28 +173,28 @@ func (this *apiComp) DrawCard(session comm.IUserSession, req *pb.HeroDrawCardReq
} }
heroRecord.Star4++ // 4星保底数量+1 heroRecord.Star4++ // 4星保底数量+1
heroRecord.Star5++ // 5星保底数量+1 heroRecord.Star5++ // 5星保底数量+1
if starIndex == 4 { if starIndex == 1 {
heroRecord.Star4 = 0 heroRecord.Star4 = 0
star4Max++ star4Max++
} else if starIndex == 5 { } else if starIndex == 2 {
star5Max++ star5Max++
heroRecord.Star5 = 0 heroRecord.Star5 = 0
} }
if star4Max >= cfgDraw.Draw10Star4Max || star5Max >= cfgDraw.Draw10Star5Max { // 达到10连抽最大(4,5星)数量 直接给三星 if star4Max >= cfgDraw.Draw10Star4Max || star5Max >= cfgDraw.Draw10Star5Max { // 达到10连抽最大(4,5星)数量 直接给三星
starIndex = 3 starIndex = 0
} else { } else {
// 普通卡池保底 // 普通卡池保底
if cfgDraw.DrawFloorStar4 <= heroRecord.Star4 { if cfgDraw.DrawFloorStar4 <= heroRecord.Star4 {
heroRecord.Star4 = 0 heroRecord.Star4 = 0
starIndex = 4 starIndex = 1
} }
if cfgDraw.DrawFloorStar5 <= heroRecord.Star5 { if cfgDraw.DrawFloorStar5 <= heroRecord.Star5 {
heroRecord.Star5 = 0 heroRecord.Star5 = 0
starIndex = 5 starIndex = 2
} }
} }
szStar = append(szStar, starIndex) szStar = append(szStar, starIndex+3)
if len(szStar) >= int(req.DrawCount) { if len(szStar) >= int(req.DrawCount) {
break break
} }
@ -252,13 +252,13 @@ func (this *apiComp) DrawCard(session comm.IUserSession, req *pb.HeroDrawCardReq
starWeight := []int32{cfgDraw.CampPoolStar3, cfgDraw.CampPoolStar4, cfgDraw.CampPoolStar5} starWeight := []int32{cfgDraw.CampPoolStar3, cfgDraw.CampPoolStar4, cfgDraw.CampPoolStar5}
starIndex := this.module.modelHero.GetRandW(starWeight) starIndex := this.module.modelHero.GetRandW(starWeight)
if starIndex == 4 { if starIndex == 1 {
star4Max++ star4Max++
} else if starIndex == 5 { } else if starIndex == 2 {
star5Max++ star5Max++
} }
if star4Max >= cfgDraw.Draw10Star4Max || star5Max >= cfgDraw.Draw10Star5Max { if star4Max >= cfgDraw.Draw10Star4Max || star5Max >= cfgDraw.Draw10Star5Max {
starIndex = 3 starIndex = 0
} }
szStar = append(szStar, starIndex) szStar = append(szStar, starIndex)
if len(szStar) >= int(req.DrawCount) { if len(szStar) >= int(req.DrawCount) {

View File

@ -87,23 +87,21 @@ func (this *apiComp) TalentLearn(session comm.IUserSession, req *pb.HeroTalentLe
// 消耗指定的天赋点数 // 消耗指定的天赋点数
t := this.module.configure.GetHeroTalentBoxItem(talent.HeroId) t := this.module.configure.GetHeroTalentBoxItem(talent.HeroId)
if t != "" && talentConf.Point > 0 { if t != "" && talentConf.Point > 0 {
curItemCount := int32(this.module.ModuleItems.QueryItemAmount(session.GetUserId(), t)) curItemCount := int32(this.module.ModuleItems.QueryItemAmount(session.GetUserId(), t))
if curItemCount < talentConf.Point { // 如果数量不够 则取找其他物品替代 if curItemCount < talentConf.Point { // 如果数量不够 则取找其他物品替代
leftCount := talentConf.Point - curItemCount // 需要其他物品的数量 leftCount := talentConf.Point - curItemCount // 需要其他物品的数量
generaltp := this.module.configure.GetGlobalConf().Generaltp generaltp := this.module.configure.GetGlobalConf().Generaltp
otherCount := int32(this.module.ModuleItems.QueryItemAmount(session.GetUserId(), generaltp)) fp := &cfg.Gameatn{
if leftCount <= otherCount { // 其他物品够扣 A: generaltp.A,
point := &cfg.Gameatn{ T: generaltp.T,
A: "item", N: leftCount,
T: generaltp, }
N: leftCount, if code = this.module.CheckRes(session, []*cfg.Gameatn{fp}); code != pb.ErrorCode_Success {
}
res = append(res, point)
} else { // 其他替代的道具也不足 直接返回
code = pb.ErrorCode_ItemsNoEnough code = pb.ErrorCode_ItemsNoEnough
return return
} }
res = append(res, fp)
} else { } else {
point := &cfg.Gameatn{ point := &cfg.Gameatn{
A: "item", A: "item",

View File

@ -624,7 +624,7 @@ func (this *ModelHero) GetRandW(sz []int32) int32 {
for i, v := range sz { for i, v := range sz {
_tmpW += int64(v) _tmpW += int64(v)
if n.Int64() < _tmpW { if n.Int64() < _tmpW {
return int32(i) + 3 return int32(i)
} }
} }
} }

View File

@ -103,8 +103,10 @@ func (this *User) GetUser(uid string) (user *pb.DBUser) {
if this.IsCross() { if this.IsCross() {
user, err = this.getRemoteUser(uid) user, err = this.getRemoteUser(uid)
if err != nil { if err != nil {
this.Errorln("查询远程玩家信息", err)
return nil return nil
} }
this.Debug("查询远程玩家信息", log.Field{Key: "uid", Value: uid}, log.Field{Key: "user", Value: user})
} else { } else {
user = this.modelUser.GetUser(uid) user = this.modelUser.GetUser(uid)
} }
@ -129,6 +131,7 @@ func (this *User) getRemoteUser(uid string) (*pb.DBUser, error) {
if err := this.getUserFromRemoteDb(uid, reply); err != nil { if err := this.getUserFromRemoteDb(uid, reply); err != nil {
return nil, err return nil, err
} }
this.Debug("远程用户", log.Field{Key: "uid", Value: uid}, log.Field{Key: "user", Value: reply})
return reply, nil return reply, nil
} }
@ -556,6 +559,7 @@ func (this *User) getUserFromRemoteDb(uid string, rsp *pb.DBUser) error {
model := db.NewDBModel(comm.TableUser, 0, conn) model := db.NewDBModel(comm.TableUser, 0, conn)
if err := model.Get(uid, rsp); err != nil { if err := model.Get(uid, rsp); err != nil {
this.Errorln(err)
return err return err
} }
return nil return nil

View File

@ -174,7 +174,7 @@ type GameGlobalData struct {
RotateAngle float32 RotateAngle float32
RotateDizzyTime float32 RotateDizzyTime float32
Moonshopmoney []int32 Moonshopmoney []int32
Generaltp string Generaltp *Gameatn
} }
const TypeId_GameGlobalData = 477542761 const TypeId_GameGlobalData = 477542761
@ -737,7 +737,7 @@ func (_v *GameGlobalData)Deserialize(_buf map[string]interface{}) (err error) {
} }
} }
{ var _ok_ bool; if _v.Generaltp, _ok_ = _buf["generaltp"].(string); !_ok_ { err = errors.New("generaltp error"); return } } { var _ok_ bool; var _x_ map[string]interface{}; if _x_, _ok_ = _buf["generaltp"].(map[string]interface{}); !_ok_ { err = errors.New("generaltp error"); return }; if _v.Generaltp, err = DeserializeGameatn(_x_); err != nil { return } }
return return
} }