上传装备强化奔溃修复

This commit is contained in:
liwei1dao 2023-06-12 16:58:30 +08:00
parent ee0bc82fbd
commit 4d4ab2f40c
2 changed files with 56 additions and 62 deletions

View File

@ -155,19 +155,17 @@ func (this *Buried) CheckCondition(uid string, condiIds ...int32) (condis []*pb.
if v1.Conid == v { if v1.Conid == v {
ok = true ok = true
//状态等于休眠 //状态等于休眠
if v1.State == pb.BuriedItemState_Sleep { if conf.Ctype == ctype_daily { //日常
if conf.Ctype == ctype_daily { //日常 if !utils.IsToday(v1.Timestamp) { //不是同一天 可以重置数据
if !utils.IsToday(v1.Timestamp) { //不是同一天 可以重置数据 v1.State = pb.BuriedItemState_Activated
v1.State = pb.BuriedItemState_Activated v1.Value = 0
v1.Value = 0 v1.Finish = pb.BuriedItemFinishState_buried_unfinish
v1.Finish = pb.BuriedItemFinishState_buried_unfinish }
} } else if conf.Ctype == ctype_weekly { //周常
} else if conf.Ctype == ctype_weekly { //周常 if !utils.IsSameWeek(v1.Timestamp) { //不是同一周
if !utils.IsSameWeek(v1.Timestamp) { //不是同一周 v1.State = pb.BuriedItemState_Activated
v1.State = pb.BuriedItemState_Activated v1.Value = 0
v1.Value = 0 v1.Finish = pb.BuriedItemFinishState_buried_unfinish
v1.Finish = pb.BuriedItemFinishState_buried_unfinish
}
} }
} }
condis = append(condis, &pb.ConIProgress{ condis = append(condis, &pb.ConIProgress{
@ -282,19 +280,17 @@ func (this *Buried) FinishConditionAndCheck(uid string, finishcondiIds []int32,
if v1.Conid == v { if v1.Conid == v {
ok = true ok = true
//状态等于休眠 //状态等于休眠
if v1.State == pb.BuriedItemState_Sleep { if conf.Ctype == ctype_daily { //日常
if conf.Ctype == ctype_daily { //日常 if !utils.IsToday(v1.Timestamp) { //不是同一天 可以重置数据
if !utils.IsToday(v1.Timestamp) { //不是同一天 可以重置数据 v1.State = pb.BuriedItemState_Activated
v1.State = pb.BuriedItemState_Activated v1.Value = 0
v1.Value = 0 v1.Finish = pb.BuriedItemFinishState_buried_unfinish
v1.Finish = pb.BuriedItemFinishState_buried_unfinish }
} } else if conf.Ctype == ctype_weekly { //周常
} else if conf.Ctype == ctype_weekly { //周常 if !utils.IsSameWeek(v1.Timestamp) { //不是同一周
if !utils.IsSameWeek(v1.Timestamp) { //不是同一周 v1.State = pb.BuriedItemState_Activated
v1.State = pb.BuriedItemState_Activated v1.Value = 0
v1.Value = 0 v1.Finish = pb.BuriedItemFinishState_buried_unfinish
v1.Finish = pb.BuriedItemFinishState_buried_unfinish
}
} }
} }
condis = append(condis, &pb.ConIProgress{ condis = append(condis, &pb.ConIProgress{
@ -523,24 +519,23 @@ func (this *Buried) updateAndCheckBuried(bconf *cfg.GameBuriedTypeData, bdata *p
return return
} }
//状态等于休眠 if bitem.State == pb.BuriedItemState_Sleep && cond.Ctype == ctype_repeat { //完成后自动锁定
if bitem.State == pb.BuriedItemState_Sleep { bitem.State = pb.BuriedItemState_Activated
if cond.Ctype == ctype_repeat { //完成后自动锁定 bitem.Value = 0
bitem.Finish = pb.BuriedItemFinishState_buried_unfinish
}
if cond.Ctype == ctype_daily { //日常
if !utils.IsToday(bitem.Timestamp) { //不是同一天 可以重置数据
bitem.State = pb.BuriedItemState_Activated
bitem.Value = 0
bitem.Finish = pb.BuriedItemFinishState_buried_unfinish
}
} else if cond.Ctype == ctype_weekly { //周常
if !utils.IsSameWeek(bitem.Timestamp) { //不是同一周
bitem.State = pb.BuriedItemState_Activated bitem.State = pb.BuriedItemState_Activated
bitem.Value = 0 bitem.Value = 0
bitem.Finish = pb.BuriedItemFinishState_buried_unfinish bitem.Finish = pb.BuriedItemFinishState_buried_unfinish
} else if cond.Ctype == ctype_daily { //日常
if !utils.IsToday(bitem.Timestamp) { //不是同一天 可以重置数据
bitem.State = pb.BuriedItemState_Activated
bitem.Value = 0
bitem.Finish = pb.BuriedItemFinishState_buried_unfinish
}
} else if cond.Ctype == ctype_weekly { //周常
if !utils.IsSameWeek(bitem.Timestamp) { //不是同一周
bitem.State = pb.BuriedItemState_Activated
bitem.Value = 0
bitem.Finish = pb.BuriedItemFinishState_buried_unfinish
}
} }
} }
@ -575,8 +570,8 @@ func (this *Buried) updateAndCheckBuried(bconf *cfg.GameBuriedTypeData, bdata *p
this.Error("未知的埋点数据处理类型!", log.Field{Key: "Insert", Value: bconf.Insert}) this.Error("未知的埋点数据处理类型!", log.Field{Key: "Insert", Value: bconf.Insert})
return return
} }
bitem.Timestamp = configure.Now().Unix() //记录最后一次操作时间
if bitem.Value >= cond.Value { //完成进度 if bitem.Value >= cond.Value { //完成进度
bitem.Finish = pb.BuriedItemFinishState_buried_finish bitem.Finish = pb.BuriedItemFinishState_buried_finish
if cond.Ctype == ctype_once { //完成后自动锁定 if cond.Ctype == ctype_once { //完成后自动锁定
bitem.State = pb.BuriedItemState_Freeze bitem.State = pb.BuriedItemState_Freeze
@ -587,7 +582,6 @@ func (this *Buried) updateAndCheckBuried(bconf *cfg.GameBuriedTypeData, bdata *p
} else if cond.Ctype == ctype_weekly { } else if cond.Ctype == ctype_weekly {
bitem.State = pb.BuriedItemState_Sleep bitem.State = pb.BuriedItemState_Sleep
} }
bitem.Timestamp = configure.Now().Unix() //记录最后一次操作时间
} else { } else {
this.Debug("完成条件未达成!", log.Field{Key: "埋点Id", Value: bdata.Btype}, log.Field{Key: "条件Id", Value: bitem.Conid}, log.Field{Key: "当前进度", Value: bitem.Value}, log.Field{Key: "目标进度", Value: cond.Value}) this.Debug("完成条件未达成!", log.Field{Key: "埋点Id", Value: bdata.Btype}, log.Field{Key: "条件Id", Value: bitem.Conid}, log.Field{Key: "当前进度", Value: bitem.Value}, log.Field{Key: "目标进度", Value: cond.Value})
} }

View File

@ -419,27 +419,27 @@ func (this *modelEquipmentComp) upgradeEquipment(equipment *pb.DB_Equipment, equ
return return
} }
} }
return
} }
return
}
if equip.EquipId == 1 { if equip.EquipId == 1 {
if len(equipment.AdverbEntry) <= 0 { if len(equipment.AdverbEntry) <= 0 {
return return
}
var attrlibrary *cfg.GameEquipAttrlibrarySData
index := comm.RandShuffle(len(equipment.AdverbEntry))[0]
if attrlibrary, err = this.module.configure.GetEquipmentAttrlibraryConfigureByKey(equipment.AdverbEntry[index].Id); err != nil {
return
}
value := equipment.AdverbEntry[index].BaseValue + int32(float64(attrlibrary.Addition[equipment.AdverbEntry[index].Lv-1])/1000.0*float64(equipment.AdverbEntry[index].BaseValue))
if equipment.AdverbEntry[index].Value < value {
equipment.AdverbEntry[index].Value = value
}
equipment.AdverbEntry[index].Lv++
} else {
index := comm.RandShuffle(len(equipment.Adverbskill))[0]
equipment.Adverbskill[index].Lv++
} }
var attrlibrary *cfg.GameEquipAttrlibrarySData
index := comm.RandShuffle(len(equipment.AdverbEntry))[0]
if attrlibrary, err = this.module.configure.GetEquipmentAttrlibraryConfigureByKey(equipment.AdverbEntry[index].Id); err != nil {
return
}
value := equipment.AdverbEntry[index].BaseValue + int32(float64(attrlibrary.Addition[equipment.AdverbEntry[index].Lv-1])/1000.0*float64(equipment.AdverbEntry[index].BaseValue))
if equipment.AdverbEntry[index].Value < value {
equipment.AdverbEntry[index].Value = value
}
equipment.AdverbEntry[index].Lv++
} else {
index := comm.RandShuffle(len(equipment.Adverbskill))[0]
equipment.Adverbskill[index].Lv++
} }
return return
} }