Merge branch 'meixiongfeng' of http://git.legu.cc/liwei_3d/go_dreamfactory into dev

This commit is contained in:
meixiongfeng 2022-12-26 15:28:48 +08:00
commit ad027b9c9e
5 changed files with 26 additions and 29 deletions

View File

@ -48,15 +48,15 @@ func (this *apiComp) GetList(session comm.IUserSession, req *pb.EnchantGetListRe
code = pb.ErrorCode_ConfigNoFound code = pb.ErrorCode_ConfigNoFound
return return
} }
iContt := conf.EnchantbossInitial iCont := conf.EnchantbossInitial
atn := conf.EnchantbossCos atn := conf.EnchantbossCos
if iContt > 0 { if iCont > 0 {
res := &cfg.Gameatn{
this.module.DispenseRes(session, []*cfg.Gameatn{&cfg.Gameatn{
A: atn.A, A: atn.A,
T: atn.T, T: atn.T,
N: iContt, N: iCont,
}}, true) }
this.module.DispenseRes(session, []*cfg.Gameatn{res}, true)
} }
} else if err != nil { } else if err != nil {
code = pb.ErrorCode_DBError code = pb.ErrorCode_DBError

View File

@ -54,12 +54,12 @@ func (this *apiComp) GetList(session comm.IUserSession, req *pb.HuntingGetListRe
iCont := conf.HuntingNum iCont := conf.HuntingNum
atn := conf.HuntingCos atn := conf.HuntingCos
if iCont > 0 { if iCont > 0 {
res := &cfg.Gameatn{
this.module.DispenseRes(session, []*cfg.Gameatn{&cfg.Gameatn{
A: atn.A, A: atn.A,
T: atn.T, T: atn.T,
N: iCont, N: iCont,
}}, true) }
this.module.DispenseRes(session, []*cfg.Gameatn{res}, true)
} }
} else if err != nil { } else if err != nil {

View File

@ -5,6 +5,7 @@ import (
"go_dreamfactory/pb" "go_dreamfactory/pb"
"go_dreamfactory/sys/configure" "go_dreamfactory/sys/configure"
cfg "go_dreamfactory/sys/configure/structs" cfg "go_dreamfactory/sys/configure/structs"
"strconv"
"google.golang.org/protobuf/proto" "google.golang.org/protobuf/proto"
) )
@ -21,11 +22,10 @@ func (this *apiComp) ChallengeOverCheck(session comm.IUserSession, req *pb.Vikin
///挑战完成 ///挑战完成
func (this *apiComp) ChallengeOver(session comm.IUserSession, req *pb.VikingChallengeOverReq) (code pb.ErrorCode, data proto.Message) { func (this *apiComp) ChallengeOver(session comm.IUserSession, req *pb.VikingChallengeOverReq) (code pb.ErrorCode, data proto.Message) {
var ( var (
mapData map[string]interface{} mapData map[string]interface{}
newChallenge bool // 新的关卡 reward []*cfg.Gameatn
reward []*cfg.Gameatn asset []*pb.UserAssets
asset []*pb.UserAssets bWin bool // 战斗是否胜利
bWin bool // 战斗是否胜利
) )
mapData = make(map[string]interface{}, 0) mapData = make(map[string]interface{}, 0)
reward = make([]*cfg.Gameatn, 0) reward = make([]*cfg.Gameatn, 0)
@ -63,9 +63,7 @@ func (this *apiComp) ChallengeOver(session comm.IUserSession, req *pb.VikingChal
if !ok { // 类型校验 if !ok { // 类型校验
viking.Boss[req.BossId] = 1 viking.Boss[req.BossId] = 1
} }
if value == req.Difficulty { if value < req.Difficulty {
newChallenge = true
} else if value < req.Difficulty {
code = pb.ErrorCode_HuntingLvErr code = pb.ErrorCode_HuntingLvErr
return return
} }
@ -90,11 +88,8 @@ func (this *apiComp) ChallengeOver(session comm.IUserSession, req *pb.VikingChal
mapData["recoveryTime"] = viking.RecoveryTime mapData["recoveryTime"] = viking.RecoveryTime
} }
} }
if bWin { key := strconv.Itoa(int(req.BossId)) + "_" + strconv.Itoa(int(req.Difficulty))
this.module.CheckRank(session.GetUserId(), req.BossId, req.Difficulty, viking, req.Report) if viking.BossTime[key] == 0 { // 新关卡挑战通过 发放首通奖励
}
mapData["bossTime"] = viking.BossTime // 更新时间
if newChallenge && bWin { // 新关卡挑战通过 发放首通奖励
viking.Boss[req.BossId]++ viking.Boss[req.BossId]++
mapData["boss"] = viking.Boss mapData["boss"] = viking.Boss
if code = this.module.DispenseRes(session, vikingCfg.Firstprize, true); code != pb.ErrorCode_Success { if code = this.module.DispenseRes(session, vikingCfg.Firstprize, true); code != pb.ErrorCode_Success {
@ -107,7 +102,9 @@ func (this *apiComp) ChallengeOver(session comm.IUserSession, req *pb.VikingChal
N: v.N, N: v.N,
}) })
} }
} else { }
if bWin {
this.module.CheckRank(session.GetUserId(), req.BossId, req.Difficulty, viking, req.Report)
reward = this.module.configure.GetDropReward(vikingCfg.Drop) // 获取掉落奖励 reward = this.module.configure.GetDropReward(vikingCfg.Drop) // 获取掉落奖励
if code = this.module.DispenseRes(session, reward, true); code != pb.ErrorCode_Success { if code = this.module.DispenseRes(session, reward, true); code != pb.ErrorCode_Success {
return return
@ -120,6 +117,8 @@ func (this *apiComp) ChallengeOver(session comm.IUserSession, req *pb.VikingChal
}) })
} }
} }
mapData["bossTime"] = viking.BossTime // 更新时间
code = this.module.ModifyVikingData(session.GetUserId(), mapData) code = this.module.ModifyVikingData(session.GetUserId(), mapData)
// 发放通关随机奖励 // 发放通关随机奖励
session.SendMsg(string(this.module.GetType()), VikingChallengeOverResp, &pb.VikingChallengeOverResp{ session.SendMsg(string(this.module.GetType()), VikingChallengeOverResp, &pb.VikingChallengeOverResp{

View File

@ -54,12 +54,12 @@ func (this *apiComp) GetList(session comm.IUserSession, req *pb.VikingGetListReq
iCont := conf.VikingNum iCont := conf.VikingNum
atn := conf.VikingExpeditionCos atn := conf.VikingExpeditionCos
if iCont > 0 { if iCont > 0 {
res := &cfg.Gameatn{
this.module.DispenseRes(session, []*cfg.Gameatn{&cfg.Gameatn{
A: atn.A, A: atn.A,
T: atn.T, T: atn.T,
N: iCont, N: iCont,
}}, true) }
this.module.DispenseRes(session, []*cfg.Gameatn{res}, true)
} }
} }

View File

@ -178,9 +178,7 @@ func (this *Viking) CompleteAllLevel(session comm.IUserSession) (code pb.ErrorCo
} }
mapData["boss"] = list.Boss mapData["boss"] = list.Boss
code = this.ModifyVikingData(session.GetUserId(), mapData) code = this.ModifyVikingData(session.GetUserId(), mapData)
for k := range list.Boss {
list.Boss[k] += 1
}
session.SendMsg(string(this.GetType()), VikingGetListResp, &pb.VikingGetListResp{Data: list}) session.SendMsg(string(this.GetType()), VikingGetListResp, &pb.VikingGetListResp{Data: list})
return return
} }