|
|
package lottery
|
|
|
|
|
|
import (
|
|
|
"GenshinImpact/global"
|
|
|
"math/rand"
|
|
|
)
|
|
|
|
|
|
// 武器up池
|
|
|
func PickWeaponUp() string {
|
|
|
if global.LastRareWeapon >= 9 {
|
|
|
global.LastRareWeapon -= 9
|
|
|
}
|
|
|
if global.LastEpicWeapon >= 80 {
|
|
|
global.LastEpicWeapon -= 80
|
|
|
}
|
|
|
//保底
|
|
|
if global.LastEpicWeapon == 79 {
|
|
|
//必出橙色
|
|
|
//fmt.Println("必出橙色-----------------------------------------------------------------------------------------------------------------------")
|
|
|
return RandomEpicWeapon()
|
|
|
}
|
|
|
if global.LastRareWeapon == 9 {
|
|
|
//必出紫色
|
|
|
//fmt.Println("必出紫色")
|
|
|
return RandomRareWeapon()
|
|
|
}
|
|
|
//单抽
|
|
|
//up5占5星出货75%
|
|
|
//up4占4星出货75%
|
|
|
//5星概率为0.7% 最多80次必出5星
|
|
|
//4星概率为6% 其中角色3% 武器3% 最多10次必出4星
|
|
|
//当起源到4星时 75%为up武器
|
|
|
//如果本次不是当期up 下一个一定是up
|
|
|
//https://www.bilibili.com/read/cv12616453
|
|
|
//模型五星综合概率为1.8779%,期望53.250抽,概率在第63抽开始上升,保底位置实为第77抽而非公示的第80抽。
|
|
|
//作者:一棵平衡树 https://www.bilibili.com/read/cv12616453 出处:bilibili
|
|
|
//模型四星综合概率为14.857%,期望6.7309抽,概率在第8抽开始上升,保底位置实为第9抽而非公示的第10抽。
|
|
|
//作者:一棵平衡树 https://www.bilibili.com/read/cv12616453 出处:bilibili
|
|
|
dice := rand.Intn(10000)
|
|
|
adjustRateWeapon := 69
|
|
|
if global.LastEpicWeapon > 61 {
|
|
|
adjustRateWeapon = 770 + 700*(global.LastEpicWeapon-61)
|
|
|
}
|
|
|
adjustRateRareWeapon := 300 + 300
|
|
|
if global.LastRareWeapon == 7 {
|
|
|
adjustRateRareWeapon += 6000
|
|
|
}
|
|
|
switch {
|
|
|
case dice <= adjustRateWeapon:
|
|
|
//epic
|
|
|
return RandomEpicWeapon()
|
|
|
case dice <= adjustRateWeapon+adjustRateRareWeapon:
|
|
|
//rare
|
|
|
return RandomRareWeapon()
|
|
|
default:
|
|
|
//常驻3星武器
|
|
|
return RandomCommonItemWeapon()
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
// 常驻3星武器 武器池
|
|
|
func RandomCommonItemWeapon() string {
|
|
|
global.LastEpicWeapon += 1
|
|
|
global.LastRareWeapon += 1
|
|
|
commonItem := global.CommonItem
|
|
|
return commonItem[rand.Intn(len(commonItem))]
|
|
|
}
|