无尽礼包优化
This commit is contained in:
parent
60785c9909
commit
8328ac6b63
@ -12,27 +12,31 @@ func InitReward(Energy float64, Order, Lv int) []*item.Item {
|
||||
numRand := map[int]int{1: 30, 2: 60, 3: 10}
|
||||
Num := Util.RandMap(numRand)
|
||||
PerEnergy := endlessCfg.GetPerEnergy(item.ITEM_ENERGY_ID)
|
||||
|
||||
getNum := func(energy, preEnergy float64) int {
|
||||
num := int(energy / preEnergy)
|
||||
num = int(math.Round(float64(num)/5.0) * 5)
|
||||
return max(num, 5) // 最少5个能量
|
||||
}
|
||||
if Num == 1 {
|
||||
return []*item.Item{item.NewItem(item.ITEM_ENERGY_ID, int(float64(Energy)/PerEnergy))}
|
||||
ItemNum := getNum(Energy, PerEnergy)
|
||||
return []*item.Item{item.NewItem(item.ITEM_ENERGY_ID, ItemNum)}
|
||||
}
|
||||
|
||||
if Num == 2 {
|
||||
ItemId := endlessCfg.GetItemId(Energy, 0, Lv)
|
||||
if len(ItemId) == 0 {
|
||||
return []*item.Item{item.NewItem(item.ITEM_ENERGY_ID, int(Energy/PerEnergy))}
|
||||
return []*item.Item{item.NewItem(item.ITEM_ENERGY_ID, getNum(Energy, PerEnergy))}
|
||||
}
|
||||
RandItem := Util.RandSlice(ItemId)
|
||||
ItemEnergy := endlessCfg.GetEnergyByItemId(RandItem)
|
||||
LastEnergy := Energy - ItemEnergy
|
||||
ItemNum := int(LastEnergy / PerEnergy)
|
||||
ItemNum = int(math.Round(float64(ItemNum)/5.0) * 5) // 道具数量为5的倍数
|
||||
ItemNum := getNum(LastEnergy, PerEnergy)
|
||||
return []*item.Item{item.NewItem(item.ITEM_ENERGY_ID, ItemNum), item.NewItem(RandItem, 1)}
|
||||
}
|
||||
if Num == 3 {
|
||||
ItemId := endlessCfg.GetItemId(Energy, 0, Lv)
|
||||
if len(ItemId) == 0 {
|
||||
return []*item.Item{item.NewItem(item.ITEM_ENERGY_ID, int(Energy/PerEnergy))}
|
||||
return []*item.Item{item.NewItem(item.ITEM_ENERGY_ID, getNum(Energy, PerEnergy))}
|
||||
}
|
||||
RandItem1 := Util.RandSlice(ItemId)
|
||||
Type := endlessCfg.GetType(RandItem1)
|
||||
@ -40,14 +44,13 @@ func InitReward(Energy float64, Order, Lv int) []*item.Item {
|
||||
LastEnergy := Energy - ItemEnergy
|
||||
ItemId = endlessCfg.GetItemId(LastEnergy, Type, Lv)
|
||||
if len(ItemId) == 0 {
|
||||
ItemNum := int(LastEnergy / PerEnergy)
|
||||
ItemNum := getNum(LastEnergy, PerEnergy)
|
||||
return []*item.Item{item.NewItem(item.ITEM_ENERGY_ID, ItemNum), item.NewItem(RandItem1, 1)}
|
||||
}
|
||||
RandItem2 := Util.RandSlice(ItemId)
|
||||
ItemEnergy = endlessCfg.GetEnergyByItemId(RandItem2)
|
||||
LastEnergy = LastEnergy - ItemEnergy
|
||||
ItemNum := int(LastEnergy / PerEnergy)
|
||||
ItemNum = int(math.Round(float64(ItemNum)/5.0) * 5) // 道具数量为5的倍数
|
||||
ItemNum := getNum(LastEnergy, PerEnergy)
|
||||
return []*item.Item{item.NewItem(item.ITEM_ENERGY_ID, ItemNum), item.NewItem(RandItem1, 1), item.NewItem(RandItem2, 1)}
|
||||
}
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user