上传装备gm
This commit is contained in:
parent
e75f8cf4b3
commit
661e5e70d8
@ -334,16 +334,6 @@ func (this *modelEquipmentComp) newEquipment(uid string, conf *cfg.GameEquipData
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
satterNum = conf.Addattrnum[comm.GetRandW(weight)]
|
satterNum = conf.Addattrnum[comm.GetRandW(weight)]
|
||||||
// for _, v := range weight {
|
|
||||||
// total += int64(v)
|
|
||||||
// }
|
|
||||||
// result, _ := rand.Int(rand.Reader, big.NewInt(total))
|
|
||||||
// for i, v := range weight {
|
|
||||||
// if int32(result.Int64()) <= v {
|
|
||||||
// satterNum = conf.Addattrnum[i]
|
|
||||||
// break
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
if satterNum > int32(len(sattr)) {
|
if satterNum > int32(len(sattr)) {
|
||||||
satterNum = int32(len(sattr))
|
satterNum = int32(len(sattr))
|
||||||
}
|
}
|
||||||
@ -402,11 +392,6 @@ func (this *modelEquipmentComp) newEquipment(uid string, conf *cfg.GameEquipData
|
|||||||
func (this *modelEquipmentComp) upgradeEquipment(equipment *pb.DB_Equipment, equip *cfg.GameEquipData, intensify *cfg.GameEquipIntensifyData) (err error) {
|
func (this *modelEquipmentComp) upgradeEquipment(equipment *pb.DB_Equipment, equip *cfg.GameEquipData, intensify *cfg.GameEquipIntensifyData) (err error) {
|
||||||
equipment.Lv++
|
equipment.Lv++
|
||||||
equipment.MainEntry.Lv++
|
equipment.MainEntry.Lv++
|
||||||
// var mainconfigure *cfg.GameEquipAttrlibrarySData
|
|
||||||
// if mainconfigure, err = this.module.configure.GetEquipmentAttrlibraryConfigureByKey(equipment.MainEntry.Id); err != nil {
|
|
||||||
// this.module.Errorf("升级服务错误 读取主词条配置错误!")
|
|
||||||
// return
|
|
||||||
// }
|
|
||||||
equipment.MainEntry.Value = equipment.MainEntry.BaseValue + int32(math.Floor(float64(equipment.MainEntry.BaseValue*intensify.Bonus)/1000.0))
|
equipment.MainEntry.Value = equipment.MainEntry.BaseValue + int32(math.Floor(float64(equipment.MainEntry.BaseValue*intensify.Bonus)/1000.0))
|
||||||
if intensify.Activation { //不触发副词条变化
|
if intensify.Activation { //不触发副词条变化
|
||||||
if len(equipment.AdverbEntry) < 4 { //去随机副词条
|
if len(equipment.AdverbEntry) < 4 { //去随机副词条
|
||||||
@ -595,38 +580,35 @@ func (this *modelEquipmentComp) newCustomizeEquipment(uid string, eid string, lv
|
|||||||
sattr []*cfg.GameEquipAttrlibrarySData
|
sattr []*cfg.GameEquipAttrlibrarySData
|
||||||
equipatt *cfg.GameEquipAttributeData
|
equipatt *cfg.GameEquipAttributeData
|
||||||
intensify *cfg.GameEquipIntensifyData
|
intensify *cfg.GameEquipIntensifyData
|
||||||
|
maxindex int
|
||||||
satterNum int32
|
satterNum int32
|
||||||
)
|
)
|
||||||
if conf, err = this.module.configure.GetEquipmentConfigureById(eid); err != nil {
|
|
||||||
err = fmt.Errorf("no found eid%s", eid)
|
|
||||||
return
|
|
||||||
}
|
|
||||||
if intensify, err = this.module.configure.GetEquipmentIntensifyConfigureById(conf.EquipId, conf.Color, lv); err != nil {
|
|
||||||
this.module.Errorln(err)
|
|
||||||
return
|
|
||||||
}
|
|
||||||
equipment = &pb.DB_Equipment{
|
equipment = &pb.DB_Equipment{
|
||||||
Id: primitive.NewObjectID().Hex(),
|
Id: primitive.NewObjectID().Hex(),
|
||||||
CId: eid,
|
CId: eid,
|
||||||
Lv: intensify.Level + 1,
|
Lv: 1,
|
||||||
UId: uid,
|
UId: uid,
|
||||||
OverlayNum: 1,
|
OverlayNum: 1,
|
||||||
IsInitialState: false,
|
IsInitialState: false,
|
||||||
}
|
}
|
||||||
|
if conf, err = this.module.configure.GetEquipmentConfigureById(eid); err != nil {
|
||||||
|
err = fmt.Errorf("no found eid%s", eid)
|
||||||
|
return
|
||||||
|
}
|
||||||
if mattr, err = this.module.configure.GetEquipmentAttrlibraryConfigureByKey(attribute); err != nil {
|
if mattr, err = this.module.configure.GetEquipmentAttrlibraryConfigureByKey(attribute); err != nil {
|
||||||
err = fmt.Errorf("no found mattr%d", attribute)
|
err = fmt.Errorf("no found mattr%d", attribute)
|
||||||
this.module.Errorln(err)
|
this.module.Errorln(err)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
equipment.MainEntry = &pb.EquipmentAttributeEntry{
|
equipment.MainEntry = &pb.EquipmentAttributeEntry{
|
||||||
Id: mattr.Key,
|
Id: mattr.Key,
|
||||||
Libraryid: mattr.Libraryid,
|
Libraryid: mattr.Libraryid,
|
||||||
Lv: intensify.Level + 1,
|
Lv: 1,
|
||||||
AttrName: mattr.Attr.A,
|
AttrName: mattr.Attr.A,
|
||||||
Value: mattr.Attr.N,
|
Value: mattr.Attr.N,
|
||||||
BaseValue: mattr.Attr.N,
|
BaseValue: mattr.Attr.N,
|
||||||
}
|
}
|
||||||
equipment.MainEntry.Value = equipment.MainEntry.BaseValue + int32(math.Floor(float64(equipment.MainEntry.BaseValue*intensify.Bonus)/1000.0))
|
|
||||||
if sattr, err = this.module.configure.GetEquipmentAttrlibraryConfigureById(conf.Addlibrary); err != nil || len(sattr) == 0 {
|
if sattr, err = this.module.configure.GetEquipmentAttrlibraryConfigureById(conf.Addlibrary); err != nil || len(sattr) == 0 {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
@ -637,31 +619,37 @@ func (this *modelEquipmentComp) newCustomizeEquipment(uid string, eid string, lv
|
|||||||
break
|
break
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
maxindex = 0
|
||||||
|
for i, v := range conf.Addattrnump {
|
||||||
|
if v > 0 && i > maxindex {
|
||||||
|
maxindex = i
|
||||||
|
}
|
||||||
|
}
|
||||||
|
satterNum = conf.Addattrnum[maxindex]
|
||||||
|
if satterNum > int32(len(sattr)) {
|
||||||
satterNum = int32(len(sattr))
|
satterNum = int32(len(sattr))
|
||||||
|
}
|
||||||
|
|
||||||
if satterNum > 0 && satterNum <= 4 {
|
if satterNum > 0 && satterNum <= 4 {
|
||||||
equipment.Star = satterNum
|
equipment.Star = satterNum
|
||||||
|
|
||||||
if conf.EquipId == 1 {
|
if conf.EquipId == 1 {
|
||||||
equipment.AdverbEntry = make([]*pb.EquipmentAttributeEntry, 0)
|
equipment.AdverbEntry = make([]*pb.EquipmentAttributeEntry, 0)
|
||||||
|
|
||||||
for _, v := range comm.RandShuffle(len(sattr))[:satterNum] {
|
for _, v := range comm.RandShuffle(len(sattr))[:satterNum] {
|
||||||
adverbEntry := &pb.EquipmentAttributeEntry{
|
equipment.AdverbEntry = append(equipment.AdverbEntry, &pb.EquipmentAttributeEntry{
|
||||||
Id: sattr[v].Key,
|
Id: sattr[v].Key,
|
||||||
Libraryid: sattr[v].Libraryid,
|
Libraryid: sattr[v].Libraryid,
|
||||||
Lv: 5,
|
Lv: 1,
|
||||||
AttrName: sattr[v].Attr.A,
|
AttrName: sattr[v].Attr.A,
|
||||||
Value: sattr[v].Attr.N,
|
Value: sattr[v].Attr.N,
|
||||||
BaseValue: sattr[v].Attr.N,
|
BaseValue: sattr[v].Attr.N,
|
||||||
}
|
})
|
||||||
value := adverbEntry.BaseValue + int32(float64(sattr[v].Addition[adverbEntry.Lv-1])/1000.0*float64(adverbEntry.BaseValue))
|
|
||||||
if adverbEntry.Value < value {
|
|
||||||
adverbEntry.Value = value
|
|
||||||
}
|
|
||||||
equipment.AdverbEntry = append(equipment.AdverbEntry, adverbEntry)
|
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
equipment.Adverbskill = make([]*pb.EquipmentSkillEntry, 0)
|
equipment.Adverbskill = make([]*pb.EquipmentSkillEntry, 0)
|
||||||
for _, v := range comm.RandShuffle(len(sattr))[:satterNum] {
|
for _, v := range comm.RandShuffle(len(sattr))[:satterNum] {
|
||||||
if equipatt, err = this.module.configure.getEquipAttribute(sattr[v].Skill); err != nil {
|
if equipatt, err = this.module.configure.getEquipAttribute(sattr[v].Skill); err != nil { // 看
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
if equipatt.SkillId == 0 {
|
if equipatt.SkillId == 0 {
|
||||||
@ -673,10 +661,19 @@ func (this *modelEquipmentComp) newCustomizeEquipment(uid string, eid string, lv
|
|||||||
Libraryid: sattr[v].Libraryid,
|
Libraryid: sattr[v].Libraryid,
|
||||||
AttrName: sattr[v].Attr.A,
|
AttrName: sattr[v].Attr.A,
|
||||||
SkillId: equipatt.SkillId,
|
SkillId: equipatt.SkillId,
|
||||||
Lv: 5,
|
Lv: 1,
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
for i := int32(0); i < lv; i++ {
|
||||||
|
if intensify, err = this.module.configure.GetEquipmentIntensifyConfigureById(conf.EquipId, conf.Color, equipment.Lv); err != nil {
|
||||||
|
this.module.Errorln(err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
if err = this.upgradeEquipment(equipment, conf, intensify); err != nil {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
}
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
@ -431,7 +431,7 @@ func (this *GM) CreateCmd(session comm.IUserSession, cmd string) (errdata *pb.Er
|
|||||||
}
|
}
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
attribute, err := strconv.Atoi(datas[2])
|
attribute, err := strconv.Atoi(datas[3])
|
||||||
if err != nil {
|
if err != nil {
|
||||||
errdata = &pb.ErrorData{
|
errdata = &pb.ErrorData{
|
||||||
Code: pb.ErrorCode_ReqParameterError,
|
Code: pb.ErrorCode_ReqParameterError,
|
||||||
|
Loading…
Reference in New Issue
Block a user