百分比数值计算问题
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
|
costRes []*cfg.Gameatn
|
||||||
customLv int32 // 定制装备的等级
|
customLv int32 // 定制装备的等级
|
||||||
rsp *pb.SmithyForgeEquipResp
|
rsp *pb.SmithyForgeEquipResp
|
||||||
needT int32 // 需要消耗的温度
|
needT float32 // 需要消耗的温度
|
||||||
maxT int32
|
maxT int32
|
||||||
atno []*pb.UserAtno
|
atno []*pb.UserAtno
|
||||||
lava *cfg.Gameatn
|
lava *cfg.Gameatn
|
||||||
@ -107,32 +107,32 @@ func (this *apiComp) ForgeEquip(session comm.IUserSession, req *pb.SmithyForgeEq
|
|||||||
customLv = reelcfg.CustomizedLv[index]
|
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)
|
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)
|
_s := this.module.modelStove.StoveToolsTemperature(stove)
|
||||||
if _s != 0 {
|
if _s != 0 {
|
||||||
needT *= (1 - _s/1000)
|
needT *= (1 - float32(_s)/1000)
|
||||||
}
|
}
|
||||||
if req.Lava == 0 {
|
if req.Lava == 0 {
|
||||||
// 检查炉温 是否够
|
// 检查炉温 是否够
|
||||||
if stove.Temperature < needT {
|
if stove.Temperature < int32(needT) {
|
||||||
errdata = &pb.ErrorData{
|
errdata = &pb.ErrorData{
|
||||||
Code: pb.ErrorCode_SmithyNoTemperature,
|
Code: pb.ErrorCode_SmithyNoTemperature,
|
||||||
Title: pb.ErrorCode_SmithyNoTemperature.ToString(),
|
Title: pb.ErrorCode_SmithyNoTemperature.ToString(),
|
||||||
}
|
}
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
stove.Temperature -= needT // 消耗温度
|
stove.Temperature -= int32(needT) // 消耗温度
|
||||||
update["temperature"] = stove.Temperature
|
update["temperature"] = stove.Temperature
|
||||||
} else {
|
} else {
|
||||||
exemption := this.module.ModuleTools.GetGlobalConf().ExemptionTemperatureCos // 预计消耗温度
|
exemption := this.module.ModuleTools.GetGlobalConf().ExemptionTemperatureCos // 预计消耗温度
|
||||||
gloabNum := this.module.ModuleTools.GetGlobalConf().ExemptionTemperatureCosNum // 每个消耗的温度
|
gloabNum := this.module.ModuleTools.GetGlobalConf().ExemptionTemperatureCosNum // 每个消耗的温度
|
||||||
if gloabNum != 0 {
|
if gloabNum != 0 {
|
||||||
req.Lava = needT / gloabNum
|
req.Lava = int32(needT) / gloabNum
|
||||||
if needT%gloabNum != 0 {
|
if int32(needT)%gloabNum != 0 {
|
||||||
req.Lava += 1
|
req.Lava += 1
|
||||||
}
|
}
|
||||||
// 计算
|
// 计算
|
||||||
|
Loading…
Reference in New Issue
Block a user