动态难度修改
This commit is contained in:
parent
808e3ebf1b
commit
0dc7af2515
@ -473,13 +473,24 @@ func DynamicLev2(Lv int, EmitId int, Color1 string, Color2 string) int {
|
||||
return Lv
|
||||
}
|
||||
|
||||
func DynamicAdjust(EmitId int, Color string) int {
|
||||
func DynamicAdjust(EmitId int, Color string, EnergyMul int) int {
|
||||
data, err := gamedata.GetDataByIntKey(CFG_NAME, EmitId)
|
||||
if err != nil {
|
||||
log.Debug("DynamicLev GetOne EmitId:%v not found", EmitId)
|
||||
return 0
|
||||
}
|
||||
DynamicLv := gamedata.GetStringValue(data, "Dynamic")
|
||||
DynamicLv := ""
|
||||
switch EnergyMul {
|
||||
case 0:
|
||||
DynamicLv = gamedata.GetStringValue(data, "Dynamic")
|
||||
case 1, 2:
|
||||
DynamicLv = gamedata.GetStringValue(data, "Dynamic1")
|
||||
case 3, 4:
|
||||
DynamicLv = gamedata.GetStringValue(data, "Dynamic2")
|
||||
default:
|
||||
DynamicLv = gamedata.GetStringValue(data, "Dynamic3")
|
||||
}
|
||||
|
||||
if DynamicLv == "" {
|
||||
return 0
|
||||
}
|
||||
@ -497,13 +508,23 @@ func DynamicAdjust(EmitId int, Color string) int {
|
||||
return 0
|
||||
}
|
||||
|
||||
func GetAdjust(EmitId int, Color string) int {
|
||||
func GetAdjust(EmitId int, Color string, EnergyMul int) int {
|
||||
data, err := gamedata.GetDataByIntKey(CFG_NAME, EmitId)
|
||||
if err != nil {
|
||||
log.Debug("DynamicLev GetOne EmitId:%v not found", EmitId)
|
||||
return 0
|
||||
}
|
||||
AdjustLv := gamedata.GetStringValue(data, "Dynamic")
|
||||
AdjustLv := ""
|
||||
switch EnergyMul {
|
||||
case 0:
|
||||
AdjustLv = gamedata.GetStringValue(data, "Dynamic")
|
||||
case 1, 2:
|
||||
AdjustLv = gamedata.GetStringValue(data, "Dynamic1")
|
||||
case 3, 4:
|
||||
AdjustLv = gamedata.GetStringValue(data, "Dynamic2")
|
||||
default:
|
||||
AdjustLv = gamedata.GetStringValue(data, "Dynamic3")
|
||||
}
|
||||
if AdjustLv == "" {
|
||||
return 0
|
||||
}
|
||||
|
||||
@ -316,7 +316,7 @@ func checkChess(ChessId, EnergyMul int, Emit []int) bool {
|
||||
}
|
||||
}
|
||||
_, Max := getChesslvRange(EmitId, EnergyMul, false)
|
||||
Adjust := mergeDataCfg.GetAdjust(EmitId, ChessIdColor)
|
||||
Adjust := mergeDataCfg.GetAdjust(EmitId, ChessIdColor, EnergyMul)
|
||||
return ChessIdLv > Max-Adjust
|
||||
}
|
||||
func getChesslvRange(Emit int, EnergyMul int, IsCharge bool) (int, int) {
|
||||
|
||||
@ -263,7 +263,7 @@ func UnitOrder2(p *Player, Lv, EnergyMul int) float64 {
|
||||
Color := mergeDataCfg.GetColorById(v1)
|
||||
Lv := mergeDataCfg.GetLvById(v1)
|
||||
EmitId := order.GetEmitByColor(Emit, Color)
|
||||
AdjustLv := mergeDataCfg.GetAdjust(EmitId, Color)
|
||||
AdjustLv := mergeDataCfg.GetAdjust(EmitId, Color, EnergyMul)
|
||||
Energy += math.Pow(2, float64(Lv-1+AdjustLv))
|
||||
}
|
||||
}
|
||||
|
||||
@ -329,7 +329,7 @@ func (c *ChargeMod) InitChessShop(Emit []int) {
|
||||
continue
|
||||
}
|
||||
ChessLv := mergeDataCfg.GetLvById(c)
|
||||
DynamicLv := mergeDataCfg.GetAdjust(v, p)
|
||||
DynamicLv := mergeDataCfg.GetAdjust(v, p, 0)
|
||||
ChessLv += DynamicLv
|
||||
Diamond := math.Round(math.Pow(2, float64(ChessLv)) / 18)
|
||||
RandList = append(RandList, &Rand{ChessId: c, Diamond: int(Diamond)})
|
||||
|
||||
@ -2,7 +2,6 @@ package charge
|
||||
|
||||
import (
|
||||
"math"
|
||||
mergeDataCfg "server/conf/mergeData"
|
||||
)
|
||||
|
||||
func GetChessDiamond(Lv, Type int) int {
|
||||
@ -22,41 +21,41 @@ func GetChessDiamond(Lv, Type int) int {
|
||||
return max(1, d)
|
||||
}
|
||||
|
||||
func getChessMainRand(Color string) []*Rand {
|
||||
r := make([]*Rand, 0)
|
||||
for i := 6; i <= 10; i++ {
|
||||
Diamond := int(math.Pow(2, float64(i-1)) / 2.5)
|
||||
ChessId := mergeDataCfg.GetChessIdByLvAndColor(i, Color)
|
||||
if ChessId == 0 {
|
||||
continue
|
||||
}
|
||||
r = append(r, &Rand{ChessId: ChessId, Diamond: Diamond})
|
||||
}
|
||||
return r
|
||||
}
|
||||
// func getChessMainRand(Color string) []*Rand {
|
||||
// r := make([]*Rand, 0)
|
||||
// for i := 6; i <= 10; i++ {
|
||||
// Diamond := int(math.Pow(2, float64(i-1)) / 2.5)
|
||||
// ChessId := mergeDataCfg.GetChessIdByLvAndColor(i, Color)
|
||||
// if ChessId == 0 {
|
||||
// continue
|
||||
// }
|
||||
// r = append(r, &Rand{ChessId: ChessId, Diamond: Diamond})
|
||||
// }
|
||||
// return r
|
||||
// }
|
||||
|
||||
func getChessSecondaryRand(Color string) []*Rand {
|
||||
r := make([]*Rand, 0)
|
||||
for i := 5; i <= 9; i++ {
|
||||
Diamond := int((math.Pow(2, float64(i-1)) / 2.5) * 2)
|
||||
ChessId := mergeDataCfg.GetChessIdByLvAndColor(i, Color)
|
||||
if ChessId == 0 {
|
||||
continue
|
||||
}
|
||||
r = append(r, &Rand{ChessId: ChessId, Diamond: Diamond})
|
||||
}
|
||||
return r
|
||||
}
|
||||
// func getChessSecondaryRand(Color string) []*Rand {
|
||||
// r := make([]*Rand, 0)
|
||||
// for i := 5; i <= 9; i++ {
|
||||
// Diamond := int((math.Pow(2, float64(i-1)) / 2.5) * 2)
|
||||
// ChessId := mergeDataCfg.GetChessIdByLvAndColor(i, Color)
|
||||
// if ChessId == 0 {
|
||||
// continue
|
||||
// }
|
||||
// r = append(r, &Rand{ChessId: ChessId, Diamond: Diamond})
|
||||
// }
|
||||
// return r
|
||||
// }
|
||||
|
||||
func getChessSubRand(Color string) []*Rand {
|
||||
r := make([]*Rand, 0)
|
||||
for i := 5; i <= 9; i++ {
|
||||
Diamond := int(math.Pow(2, float64(i-1))/2.5 + 6.4)
|
||||
ChessId := mergeDataCfg.GetChessIdByLvAndColor(i, Color)
|
||||
if ChessId == 0 {
|
||||
continue
|
||||
}
|
||||
r = append(r, &Rand{ChessId: ChessId, Diamond: Diamond})
|
||||
}
|
||||
return r
|
||||
}
|
||||
// func getChessSubRand(Color string) []*Rand {
|
||||
// r := make([]*Rand, 0)
|
||||
// for i := 5; i <= 9; i++ {
|
||||
// Diamond := int(math.Pow(2, float64(i-1))/2.5 + 6.4)
|
||||
// ChessId := mergeDataCfg.GetChessIdByLvAndColor(i, Color)
|
||||
// if ChessId == 0 {
|
||||
// continue
|
||||
// }
|
||||
// r = append(r, &Rand{ChessId: ChessId, Diamond: Diamond})
|
||||
// }
|
||||
// return r
|
||||
// }
|
||||
|
||||
@ -666,7 +666,7 @@ func (o *OrderMod) ChangeEnergyMul(lv int, Emit []int, EnergyMul int, ChessList
|
||||
Color := mergeDataCfg.GetColorById(vv)
|
||||
EmitId := GetEmitByColor(Emit, Color)
|
||||
_, Max := getChesslvRange(EmitId, EnergyMul, o.IsCharge)
|
||||
Adjust := mergeDataCfg.GetAdjust(EmitId, Color)
|
||||
Adjust := mergeDataCfg.GetAdjust(EmitId, Color, EnergyMul)
|
||||
if Lv >= EnergyMul+1 && Lv <= Max-Adjust {
|
||||
continue
|
||||
}
|
||||
|
||||
@ -90,13 +90,13 @@ type orderConfigInfo struct {
|
||||
}
|
||||
|
||||
// 订单棋子数量
|
||||
func getChessNumRand(OrderN int) map[int]int {
|
||||
return map[int]int{
|
||||
1: int(70 - 2*OrderN),
|
||||
2: int(25 + OrderN),
|
||||
3: int(5 + OrderN),
|
||||
}
|
||||
}
|
||||
// func getChessNumRand(OrderN int) map[int]int {
|
||||
// return map[int]int{
|
||||
// 1: int(70 - 2*OrderN),
|
||||
// 2: int(25 + OrderN),
|
||||
// 3: int(5 + OrderN),
|
||||
// }
|
||||
// }
|
||||
|
||||
// 根据上一个订单难度和系数 生成订单难度
|
||||
func getOrderDiffRand(Lv, Diff, OrderN int) map[int]int {
|
||||
@ -737,34 +737,34 @@ func (o *OrderMod) getChessLvFromConfig1(MinEnergy, MaxEnergy, MinLv, MaxLv, Las
|
||||
return rand
|
||||
}
|
||||
|
||||
func (o *OrderMod) getChessLvFromConfig2(MinEnergy, MaxEnergy, MinLv, MaxLv, LastEnergy int) []int {
|
||||
rand := []int{}
|
||||
for _, v := range orderCfgMap {
|
||||
if MinEnergy >= v.Min && MaxEnergy <= v.Max {
|
||||
for _, info := range v.Pool {
|
||||
if MinLv <= info.lv && MaxLv >= info.lv {
|
||||
rand = append(rand, info.lv)
|
||||
}
|
||||
}
|
||||
// func (o *OrderMod) getChessLvFromConfig2(MinEnergy, MaxEnergy, MinLv, MaxLv, LastEnergy int) []int {
|
||||
// rand := []int{}
|
||||
// for _, v := range orderCfgMap {
|
||||
// if MinEnergy >= v.Min && MaxEnergy <= v.Max {
|
||||
// for _, info := range v.Pool {
|
||||
// if MinLv <= info.lv && MaxLv >= info.lv {
|
||||
// rand = append(rand, info.lv)
|
||||
// }
|
||||
// }
|
||||
|
||||
}
|
||||
}
|
||||
return rand
|
||||
}
|
||||
func (o *OrderMod) getChessLvFromConfig3(MinEnergy, MaxEnergy, MinLv, MaxLv, LastEnergy int) []int {
|
||||
rand := []int{}
|
||||
for _, v := range orderCfgMap {
|
||||
if MinEnergy >= v.Min && MaxEnergy <= v.Max {
|
||||
for _, info := range v.Pool {
|
||||
if MinLv <= info.lv && MaxLv >= info.lv && LastEnergy+info.energy <= MaxEnergy && LastEnergy+info.energy >= MinEnergy {
|
||||
rand = append(rand, info.lv)
|
||||
}
|
||||
}
|
||||
// }
|
||||
// }
|
||||
// return rand
|
||||
// }
|
||||
// func (o *OrderMod) getChessLvFromConfig3(MinEnergy, MaxEnergy, MinLv, MaxLv, LastEnergy int) []int {
|
||||
// rand := []int{}
|
||||
// for _, v := range orderCfgMap {
|
||||
// if MinEnergy >= v.Min && MaxEnergy <= v.Max {
|
||||
// for _, info := range v.Pool {
|
||||
// if MinLv <= info.lv && MaxLv >= info.lv && LastEnergy+info.energy <= MaxEnergy && LastEnergy+info.energy >= MinEnergy {
|
||||
// rand = append(rand, info.lv)
|
||||
// }
|
||||
// }
|
||||
|
||||
}
|
||||
}
|
||||
return rand
|
||||
}
|
||||
// }
|
||||
// }
|
||||
// return rand
|
||||
// }
|
||||
|
||||
func (o *OrderMod) ChessPoolChess(Color string, Lv int) bool {
|
||||
for _, v := range o.ChessPool2[Color] {
|
||||
@ -949,19 +949,19 @@ func initReflectChess(Emits []int, EnergyMul int) {
|
||||
Start = ChessMinLv
|
||||
End = ChessMinLv + (ChessMaxLv-ChessMinLv+1)/3 - 1
|
||||
for _, v := range Product {
|
||||
Adjust := mergeDataCfg.DynamicAdjust(Emit, v)
|
||||
Adjust := mergeDataCfg.DynamicAdjust(Emit, v, EnergyMul)
|
||||
initReflectChess2(v, Start, End, DIFF_LOW, Adjust)
|
||||
}
|
||||
Start = ChessMinLv + (ChessMaxLv-ChessMinLv+1)/3
|
||||
End = ChessMinLv + (ChessMaxLv-ChessMinLv+1)/3*2 - 1
|
||||
for _, v := range Product {
|
||||
Adjust := mergeDataCfg.DynamicAdjust(Emit, v)
|
||||
Adjust := mergeDataCfg.DynamicAdjust(Emit, v, EnergyMul)
|
||||
initReflectChess2(v, Start, End, DIFF_MID, Adjust)
|
||||
}
|
||||
Start = ChessMinLv + (ChessMaxLv-ChessMinLv+1)/3*2
|
||||
End = ChessMaxLv
|
||||
for _, v := range Product {
|
||||
Adjust := mergeDataCfg.DynamicAdjust(Emit, v)
|
||||
Adjust := mergeDataCfg.DynamicAdjust(Emit, v, EnergyMul)
|
||||
initReflectChess2(v, Start, End, DIFF_HIGH, Adjust)
|
||||
}
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user