上传装备批量锻造
This commit is contained in:
parent
d315e12012
commit
2237769747
@ -251,7 +251,7 @@ type (
|
||||
dyweight: 动态权重
|
||||
isepic:是否史诗 与 dyweight 互斥
|
||||
*/
|
||||
GetForgeEquip(session IUserSession, suiteId int32, pos int32, lv int32, dyweight []int32, isepic bool) (eruip *pb.DB_Equipment, errdata *pb.ErrorData)
|
||||
GetForgeEquip(session IUserSession, num, suiteId int32, pos int32, lv int32, dyweight []int32, isepic bool) (eruip *pb.DB_Equipment, errdata *pb.ErrorData)
|
||||
|
||||
//GM接口 获取全部装备
|
||||
GMGetAllEquip(session IUserSession, ismaxlv bool) (errdata *pb.ErrorData)
|
||||
|
@ -232,12 +232,12 @@ func (this *Equipment) NewEquipment(uid, cid string) (errdata *pb.ErrorData, equ
|
||||
}
|
||||
|
||||
// 创建新的装备
|
||||
func (this *Equipment) AddEquipment(session comm.IUserSession, equip *pb.DB_Equipment) (errdata *pb.ErrorData) {
|
||||
func (this *Equipment) AddEquipment(session comm.IUserSession, equips ...*pb.DB_Equipment) (errdata *pb.ErrorData) {
|
||||
var (
|
||||
err error
|
||||
configure *cfg.GameEquipData
|
||||
)
|
||||
if err = this.modelEquipment.addEquipment(equip); err != nil {
|
||||
if err = this.modelEquipment.addEquipments(session.GetUserId(), equips); err != nil {
|
||||
errdata = &pb.ErrorData{
|
||||
Code: pb.ErrorCode_DBError,
|
||||
Title: pb.ErrorCode_DBError.ToString(),
|
||||
@ -245,32 +245,35 @@ func (this *Equipment) AddEquipment(session comm.IUserSession, equip *pb.DB_Equi
|
||||
}
|
||||
return
|
||||
}
|
||||
if configure, err = this.configure.GetEquipmentConfigureById(equip.CId); err != nil {
|
||||
errdata = &pb.ErrorData{
|
||||
Code: pb.ErrorCode_ConfigNoFound,
|
||||
Title: pb.ErrorCode_ConfigNoFound.ToString(),
|
||||
Message: err.Error(),
|
||||
}
|
||||
return
|
||||
}
|
||||
tasks := make([]*pb.BuriedParam, 0)
|
||||
//随机任务
|
||||
tasks = append(tasks, comm.GetBuriedParam(comm.Rtype50, 1, configure.Color))
|
||||
tasks = append(tasks, comm.GetBuriedParam(comm.Rtype97, 1, configure.Suittype, configure.Color))
|
||||
unm := int32(1)
|
||||
if equip.AdverbEntry != nil {
|
||||
unm += int32(len(equip.AdverbEntry))
|
||||
for _, equip := range equips {
|
||||
if configure, err = this.configure.GetEquipmentConfigureById(equip.CId); err != nil {
|
||||
errdata = &pb.ErrorData{
|
||||
Code: pb.ErrorCode_ConfigNoFound,
|
||||
Title: pb.ErrorCode_ConfigNoFound.ToString(),
|
||||
Message: err.Error(),
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
//随机任务
|
||||
tasks = append(tasks, comm.GetBuriedParam(comm.Rtype50, 1, configure.Color))
|
||||
tasks = append(tasks, comm.GetBuriedParam(comm.Rtype97, 1, configure.Suittype, configure.Color))
|
||||
unm := int32(1)
|
||||
if equip.AdverbEntry != nil {
|
||||
unm += int32(len(equip.AdverbEntry))
|
||||
}
|
||||
if equip.Adverbskill != nil {
|
||||
unm += int32(len(equip.Adverbskill))
|
||||
}
|
||||
tasks = append(tasks, comm.GetBuriedParam(comm.Rtype99, 1, unm, configure.Color))
|
||||
if configure.Pos == 7 {
|
||||
tasks = append(tasks, comm.GetBuriedParam(comm.Rtype103, 1, configure.Color))
|
||||
} else if configure.Pos == 6 {
|
||||
tasks = append(tasks, comm.GetBuriedParam(comm.Rtype101, 1, configure.Color))
|
||||
}
|
||||
}
|
||||
if equip.Adverbskill != nil {
|
||||
unm += int32(len(equip.Adverbskill))
|
||||
}
|
||||
tasks = append(tasks, comm.GetBuriedParam(comm.Rtype99, 1, unm, configure.Color))
|
||||
if configure.Pos == 7 {
|
||||
tasks = append(tasks, comm.GetBuriedParam(comm.Rtype103, 1, configure.Color))
|
||||
} else if configure.Pos == 6 {
|
||||
tasks = append(tasks, comm.GetBuriedParam(comm.Rtype101, 1, configure.Color))
|
||||
}
|
||||
this.equipmentsChangePush(session, []*pb.DB_Equipment{equip})
|
||||
this.equipmentsChangePush(session, equips)
|
||||
go this.AsynHandleSession(session.Clone(), func(session comm.IUserSession) {
|
||||
this.ModuleBuried.TriggerBuried(session, tasks...)
|
||||
})
|
||||
@ -571,10 +574,11 @@ func (this *Equipment) GetActionableSuit(uid string) (errdata *pb.ErrorData, Sui
|
||||
dyweight: 动态权重
|
||||
isepic:是否史诗 与 动态权重互斥
|
||||
*/
|
||||
func (this *Equipment) GetForgeEquip(session comm.IUserSession, suiteId int32, pos int32, lv int32, dyweight []int32, isepic bool) (eruip *pb.DB_Equipment, errdata *pb.ErrorData) {
|
||||
func (this *Equipment) GetForgeEquip(session comm.IUserSession, num int32, suiteId int32, pos int32, lv int32, dyweight []int32, isepic bool) (eruips []*pb.DB_Equipment, errdata *pb.ErrorData) {
|
||||
var (
|
||||
configures []*cfg.GameEquipData
|
||||
lvs []*cfg.GameEquipData
|
||||
configure *cfg.GameEquipData
|
||||
err error
|
||||
)
|
||||
if configures, err = this.configure.GetSuitEquipmentConfigure(suiteId); err != nil {
|
||||
@ -585,30 +589,8 @@ func (this *Equipment) GetForgeEquip(session comm.IUserSession, suiteId int32, p
|
||||
}
|
||||
return
|
||||
}
|
||||
if pos != -1 {
|
||||
for _, v := range configures {
|
||||
if v.Pos == pos && v.Color == lv {
|
||||
if eruip, err = this.modelEquipment.newEquipment(session.GetUserId(), v, dyweight, isepic); err == nil {
|
||||
errdata = this.AddEquipment(session, eruip)
|
||||
// this.equipmentsChangePush(session, []*pb.DB_Equipment{eruip})
|
||||
return
|
||||
}
|
||||
this.Errorf("err%v", err)
|
||||
errdata = &pb.ErrorData{
|
||||
Code: pb.ErrorCode_SystemError,
|
||||
Title: pb.ErrorCode_SystemError.ToString(),
|
||||
Message: err.Error(),
|
||||
}
|
||||
return
|
||||
}
|
||||
}
|
||||
errdata = &pb.ErrorData{
|
||||
Code: pb.ErrorCode_ConfigNoFound,
|
||||
Title: pb.ErrorCode_ConfigNoFound.ToString(),
|
||||
Message: fmt.Sprintf("no fond pos:%d intlv:%d", pos, lv),
|
||||
}
|
||||
return
|
||||
} else {
|
||||
|
||||
if pos == -1 {
|
||||
lvs = make([]*cfg.GameEquipData, 0)
|
||||
for _, v := range configures {
|
||||
if v.Color == lv {
|
||||
@ -622,21 +604,53 @@ func (this *Equipment) GetForgeEquip(session comm.IUserSession, suiteId int32, p
|
||||
}
|
||||
return
|
||||
}
|
||||
r := rand.New(rand.NewSource(time.Now().Unix()))
|
||||
index := r.Perm(len(lvs))[0]
|
||||
if eruip, err = this.modelEquipment.newEquipment(session.GetUserId(), lvs[index], dyweight, isepic); err == nil {
|
||||
errdata = this.AddEquipment(session, eruip)
|
||||
// this.equipmentsChangePush(session, []*pb.DB_Equipment{eruip})
|
||||
} else {
|
||||
for _, v := range configures {
|
||||
if v.Pos == pos && v.Color == lv {
|
||||
configure = v
|
||||
break
|
||||
}
|
||||
}
|
||||
if configure == nil {
|
||||
errdata = &pb.ErrorData{
|
||||
Code: pb.ErrorCode_ConfigNoFound,
|
||||
Message: fmt.Sprintf("no found SuiteId:%d Pos:%d Color:%d", suiteId, pos, lv),
|
||||
}
|
||||
return
|
||||
}
|
||||
this.Errorf("err%v", err)
|
||||
errdata = &pb.ErrorData{
|
||||
Code: pb.ErrorCode_SystemError,
|
||||
Title: pb.ErrorCode_SystemError.ToString(),
|
||||
Message: err.Error(),
|
||||
}
|
||||
return
|
||||
}
|
||||
eruips = make([]*pb.DB_Equipment, num)
|
||||
for i := 0; i < int(num); i++ {
|
||||
if pos != -1 {
|
||||
for _, v := range configures {
|
||||
if v.Pos == pos && v.Color == lv {
|
||||
if eruips[i], err = this.modelEquipment.newEquipment(session.GetUserId(), v, dyweight, isepic); err != nil {
|
||||
this.Errorf("err%v", err)
|
||||
errdata = &pb.ErrorData{
|
||||
Code: pb.ErrorCode_SystemError,
|
||||
Title: pb.ErrorCode_SystemError.ToString(),
|
||||
Message: err.Error(),
|
||||
}
|
||||
return
|
||||
}
|
||||
}
|
||||
}
|
||||
} else {
|
||||
r := rand.New(rand.NewSource(time.Now().Unix()))
|
||||
index := r.Perm(len(lvs))[0]
|
||||
if eruips[i], err = this.modelEquipment.newEquipment(session.GetUserId(), lvs[index], dyweight, isepic); err != nil {
|
||||
this.Errorf("err%v", err)
|
||||
errdata = &pb.ErrorData{
|
||||
Code: pb.ErrorCode_SystemError,
|
||||
Title: pb.ErrorCode_SystemError.ToString(),
|
||||
Message: err.Error(),
|
||||
}
|
||||
return
|
||||
}
|
||||
}
|
||||
}
|
||||
errdata = this.AddEquipment(session, eruips...)
|
||||
return
|
||||
}
|
||||
|
||||
func (this *Equipment) NewMaxQualityEquipment(session comm.IUserSession, cid []string) (eruips []*pb.DB_Equipment, errdata *pb.ErrorData) {
|
||||
|
Loading…
Reference in New Issue
Block a user