百分比数值计算问题
This commit is contained in:
parent
2884bf156f
commit
817f678d5d
@ -29,7 +29,7 @@ func (this *apiComp) ForgeEquip(session comm.IUserSession, req *pb.SmithyForgeEq
|
||||
costRes []*cfg.Gameatn
|
||||
customLv int32 // 定制装备的等级
|
||||
rsp *pb.SmithyForgeEquipResp
|
||||
needT int32 // 需要消耗的温度
|
||||
needT float32 // 需要消耗的温度
|
||||
maxT int32
|
||||
atno []*pb.UserAtno
|
||||
lava *cfg.Gameatn
|
||||
@ -107,32 +107,32 @@ func (this *apiComp) ForgeEquip(session comm.IUserSession, req *pb.SmithyForgeEq
|
||||
customLv = reelcfg.CustomizedLv[index]
|
||||
}
|
||||
}
|
||||
needT = reelcfg.TemperatureCos * req.Count
|
||||
needT = float32(reelcfg.TemperatureCos * req.Count)
|
||||
// 熟练度减少的温度
|
||||
t := this.module.modelStove.CheckTemperature(req.ReelId, stove.Data[req.ReelId].Lv)
|
||||
needT = needT * (1000 - t) / 1000 // 千分比
|
||||
needT *= float32(1000-t) / 1000 // 千分比
|
||||
// 工具台技能减少
|
||||
_s := this.module.modelStove.StoveToolsTemperature(stove)
|
||||
if _s != 0 {
|
||||
needT *= (1 - _s/1000)
|
||||
needT *= (1 - float32(_s)/1000)
|
||||
}
|
||||
if req.Lava == 0 {
|
||||
// 检查炉温 是否够
|
||||
if stove.Temperature < needT {
|
||||
if stove.Temperature < int32(needT) {
|
||||
errdata = &pb.ErrorData{
|
||||
Code: pb.ErrorCode_SmithyNoTemperature,
|
||||
Title: pb.ErrorCode_SmithyNoTemperature.ToString(),
|
||||
}
|
||||
return
|
||||
}
|
||||
stove.Temperature -= needT // 消耗温度
|
||||
stove.Temperature -= int32(needT) // 消耗温度
|
||||
update["temperature"] = stove.Temperature
|
||||
} else {
|
||||
exemption := this.module.ModuleTools.GetGlobalConf().ExemptionTemperatureCos // 预计消耗温度
|
||||
gloabNum := this.module.ModuleTools.GetGlobalConf().ExemptionTemperatureCosNum // 每个消耗的温度
|
||||
if gloabNum != 0 {
|
||||
req.Lava = needT / gloabNum
|
||||
if needT%gloabNum != 0 {
|
||||
req.Lava = int32(needT) / gloabNum
|
||||
if int32(needT)%gloabNum != 0 {
|
||||
req.Lava += 1
|
||||
}
|
||||
// 计算
|
||||
|
Loading…
Reference in New Issue
Block a user