订单逻辑修改
This commit is contained in:
parent
3759505847
commit
9fec847b36
@ -11,6 +11,8 @@ const (
|
||||
CFG_ORDER_CHESS_DATA = "OrderChessData"
|
||||
CFG_ORDER_NUM_DATA = "OrderNumData"
|
||||
CFG_START_ORDER = "StartOrder"
|
||||
CFG_CONST = "OrderConst"
|
||||
CFG_ORDER_SCENE = "OrderScene"
|
||||
)
|
||||
|
||||
func init() {
|
||||
@ -18,6 +20,24 @@ func init() {
|
||||
gamedata.InitCfg(CFG_ORDER_CHESS_DATA)
|
||||
gamedata.InitCfg(CFG_ORDER_NUM_DATA)
|
||||
gamedata.InitCfg(CFG_START_ORDER)
|
||||
gamedata.InitCfg(CFG_CONST)
|
||||
gamedata.InitCfg(CFG_ORDER_SCENE)
|
||||
}
|
||||
|
||||
func GetOrderFactor(Scene int) int {
|
||||
data, err := gamedata.GetDataByIntKey(CFG_ORDER_SCENE, Scene)
|
||||
if err != nil {
|
||||
return 0
|
||||
}
|
||||
return gamedata.GetIntValue(data, "Factor")
|
||||
}
|
||||
|
||||
func GetEmitExtraOrder() string {
|
||||
data, err := gamedata.GetDataByKey(CFG_CONST, "EmitId_Extra_Order")
|
||||
if err != nil {
|
||||
return ""
|
||||
}
|
||||
return gamedata.GetStringValue(data, "Value")
|
||||
}
|
||||
|
||||
func GetLvMin(EnergyMul int) int {
|
||||
|
||||
@ -17,6 +17,8 @@ func Charge(p *Player, ChargeId int) {
|
||||
PiggyBankFire(p, ChargeId) // 猪猪银行
|
||||
PlayroomFire(p, ChargeId) // 游乐场
|
||||
ActivityFire(p, ChargeId) // 活动礼包
|
||||
OrderMod := p.PlayMod.getOrderMod()
|
||||
OrderMod.SetIsCharge() // 设置订单模块为充值状态
|
||||
p.QuestTrigger(&quest.Trigger{Label: quest.TRIGGER_LABEL_PURCHASE, A: []interface{}{}})
|
||||
}
|
||||
|
||||
|
||||
@ -453,7 +453,10 @@ func ReqGmCommand_(player *Player, Command string) error {
|
||||
BaseMod.Uid = Uid
|
||||
case "copyUser":
|
||||
p1 := new(Player)
|
||||
p1.InitPlayer(arg[1])
|
||||
err := p1.InitPlayer(arg[1])
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
BaseMod := p1.PlayMod.getBaseMod()
|
||||
BaseMod.Uid = player.M_DwUin
|
||||
BaseMod.NickName = player.PlayMod.getBaseMod().NickName
|
||||
|
||||
@ -156,6 +156,7 @@ func (p *PlayerChessData) HandleChess(player *Player, handle_list []*msg.ChessHa
|
||||
itemList := make([]*item.Item, 0)
|
||||
AddChessList := make([]int, 0)
|
||||
AddNewEmit := make([]int, 0)
|
||||
EmitList := ChessMod.GetEmitList()
|
||||
for _, v := range handle_list {
|
||||
ChessId := int(v.ChessId)
|
||||
EmitId := int(v.Emit)
|
||||
@ -233,7 +234,6 @@ func (p *PlayerChessData) HandleChess(player *Player, handle_list []*msg.ChessHa
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
//扣除体力
|
||||
EnergyPow := BaseMod.GetEnergyMul()
|
||||
ReduceEneny := 0
|
||||
@ -245,7 +245,22 @@ func (p *PlayerChessData) HandleChess(player *Player, handle_list []*msg.ChessHa
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
NewEmitList := ChessMod.GetEmitList()
|
||||
EmitProductList := make([]string, 0)
|
||||
for _, v := range EmitList {
|
||||
ColorList := mergeDataCfg.GetEmitProduceType(v)
|
||||
EmitProductList = append(EmitProductList, ColorList...)
|
||||
}
|
||||
NewEmitProductList := make([]string, 0)
|
||||
for _, v := range NewEmitList {
|
||||
ColorList := mergeDataCfg.GetEmitProduceType(v)
|
||||
NewEmitProductList = append(NewEmitProductList, ColorList...)
|
||||
}
|
||||
OrderMod := player.PlayMod.getOrderMod()
|
||||
if !GoUtil.SlicesEqualString(EmitProductList, NewEmitProductList) {
|
||||
// 发射器系列变化,重新洗牌
|
||||
OrderMod.ResetChessPool()
|
||||
}
|
||||
Update := OrderMod.CreateExtraOrder(AddChessList, AddNewEmit, ChessMod.GetUnlockChessList(), EnergyPow)
|
||||
if Update {
|
||||
player.PushClientRes(OrderMod.BackData())
|
||||
|
||||
@ -10,12 +10,11 @@ import (
|
||||
"server/conf"
|
||||
cardCfg "server/conf/card"
|
||||
chargeCfg "server/conf/charge"
|
||||
decorateCfg "server/conf/decorate"
|
||||
limitedTimeEventCfg "server/conf/limitedTimeEvent"
|
||||
mailCfg "server/conf/mail"
|
||||
mergeDataCfg "server/conf/mergeData"
|
||||
orderCfg "server/conf/order"
|
||||
playroomCfg "server/conf/playroom"
|
||||
userCfg "server/conf/user"
|
||||
"server/db"
|
||||
"server/game/mod/activity"
|
||||
"server/game/mod/card"
|
||||
@ -983,30 +982,10 @@ func (player *Player) GetPetOrderItemExp() int {
|
||||
|
||||
// 弃用
|
||||
func (player *Player) FormatOrderReward() {
|
||||
return
|
||||
Exp, PExp := userCfg.GetLevUpExp(player.GetPlayerBaseMod().GetLevel())
|
||||
BaseMod := player.PlayMod.getBaseMod()
|
||||
DecorateMod := player.PlayMod.getDecorateMod()
|
||||
ExpCoin := (Exp-BaseMod.GetExp())*decorateCfg.GetAreaPerPExp(DecorateMod.GetAreaId()) - BaseMod.GetStar()
|
||||
PExpCoin := (PExp-BaseMod.GetPExp())*50 - player.GetPetOrderItemExp()
|
||||
OrderMod := player.PlayMod.getOrderMod()
|
||||
if ExpCoin > PExpCoin || BaseMod.GetLevel() < 6 {
|
||||
for k, v := range OrderMod.GetOrderList() {
|
||||
if len(v.Items) != 0 {
|
||||
continue
|
||||
}
|
||||
if v.Type != order.Common_type {
|
||||
continue
|
||||
}
|
||||
Star := order.GetOrderStar(v.MergeId)
|
||||
v.Items = append(v.Items, &item.Item{
|
||||
Id: item.ITEM_STAR_ID,
|
||||
Num: Star,
|
||||
})
|
||||
OrderMod.OrderList[k] = v
|
||||
}
|
||||
return
|
||||
}
|
||||
DecorateMod := player.PlayMod.getDecorateMod()
|
||||
ChessMod := player.PlayMod.getChessMod()
|
||||
OrderFactor := orderCfg.GetOrderFactor(DecorateMod.GetAreaId())
|
||||
for k, v := range OrderMod.GetOrderList() {
|
||||
if len(v.Items) != 0 {
|
||||
continue
|
||||
@ -1014,17 +993,40 @@ func (player *Player) FormatOrderReward() {
|
||||
if v.Type != order.Common_type {
|
||||
continue
|
||||
}
|
||||
Items := make([]*item.Item, 0)
|
||||
Star := order.GetOrderStar(v.MergeId)
|
||||
Items = player.GetPetOrderReward(Star, Items)
|
||||
if len(Items) == 1 && Items[0].Id == item.ITEM_STAR_ID {
|
||||
v.Type = order.Common_type
|
||||
} else {
|
||||
v.Type = order.Pet_type
|
||||
}
|
||||
v.Items = Items
|
||||
Star = int(float64(Star)*float64(OrderFactor)/10) * 10
|
||||
v.Items = append(v.Items, item.NewItem(item.ITEM_STAR_ID, Star))
|
||||
OrderMod.OrderList[k] = v
|
||||
}
|
||||
// 触发式订单 满足条件生成零件订单
|
||||
PartCost := DecorateMod.GetPartCost()
|
||||
PartBag := ChessMod.GetPartBag()
|
||||
Trigger := true
|
||||
for _, v := range OrderMod.GetOrderList() {
|
||||
if v.Type == order.Trigger_type {
|
||||
Trigger = false
|
||||
}
|
||||
}
|
||||
Trigger2 := false
|
||||
for k, v := range PartCost {
|
||||
if v > PartBag[k] {
|
||||
Trigger2 = true
|
||||
}
|
||||
}
|
||||
if Trigger && Trigger2 {
|
||||
for k, v := range OrderMod.GetOrderList() {
|
||||
if v.Type != order.Common_type {
|
||||
continue
|
||||
}
|
||||
if v.Diff == order.DIFF_LOW {
|
||||
continue
|
||||
}
|
||||
v.Items = append(v.Items, item.NewItem(item.ITEM_LAUNCHER_ID, 2))
|
||||
v.Type = order.Trigger_type
|
||||
OrderMod.OrderList[k] = v
|
||||
break
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
func (player *Player) GetPetOrderReward(Star int, Items []*item.Item) []*item.Item {
|
||||
|
||||
@ -154,7 +154,7 @@ func TriggerComfortOrder(p *Player) {
|
||||
Now := GoUtil.Now()
|
||||
Lv := BaseMod.GetLevel()
|
||||
|
||||
if Now-BaseMod.GetLogoutTime() < 7*86400 || Lv < 6 {
|
||||
if Now-BaseMod.GetLogoutTime() < 7*86400 || Lv < 17 {
|
||||
return
|
||||
}
|
||||
OrderMod := p.PlayMod.getOrderMod()
|
||||
|
||||
@ -49,6 +49,7 @@ func UnitOrder(p *Player) error {
|
||||
return err
|
||||
}
|
||||
}
|
||||
p.FormatOrderReward()
|
||||
return nil
|
||||
}
|
||||
|
||||
|
||||
@ -620,3 +620,11 @@ func (cb *ChessBorad) UpgradeChess(ChessId int) (int, error) {
|
||||
cb.AddChess(NewChess)
|
||||
return NewChess, nil
|
||||
}
|
||||
|
||||
func (cb *ChessBorad) GetPartBag() map[int]int {
|
||||
res := make(map[int]int)
|
||||
for k, v := range cb.PartBag.List {
|
||||
res[k] = v.Num
|
||||
}
|
||||
return res
|
||||
}
|
||||
|
||||
@ -279,3 +279,13 @@ func (d *Decorate) initPartCost(AreaId int) {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
func (d *Decorate) GetPartCost() map[int]int {
|
||||
res := make(map[int]int)
|
||||
for _, v := range d.PartCost {
|
||||
for _, v1 := range v.Items {
|
||||
res[v1.Id] += v1.Num
|
||||
}
|
||||
}
|
||||
return res
|
||||
}
|
||||
|
||||
@ -21,6 +21,7 @@ const (
|
||||
ITEM_DIAMOND_ID = 100003
|
||||
ITEM_FIVE_STAR_CARD_PACK = 100008
|
||||
ITEM_RACING_BATTERY_ID = 100027
|
||||
ITEM_LAUNCHER_ID = 1601
|
||||
)
|
||||
|
||||
const (
|
||||
|
||||
@ -25,6 +25,7 @@ type OrderMod struct {
|
||||
ChessPool []int // 棋子池
|
||||
OrderPool map[int]*Order // 订单池
|
||||
FinishOrder []int // 已完成订单
|
||||
IsCharge bool // 是否充值
|
||||
}
|
||||
|
||||
type Order struct {
|
||||
@ -207,16 +208,8 @@ func (o *OrderMod) TriggerOrder(lv int, Type string, Emit []int, EnergyMul int)
|
||||
}
|
||||
}
|
||||
}
|
||||
if lv >= 12 {
|
||||
normalOrder := 0
|
||||
for _, v := range o.OrderList {
|
||||
if v.Type == Common_type {
|
||||
normalOrder++
|
||||
}
|
||||
}
|
||||
for i := normalOrder; i < 3; i++ {
|
||||
o.CreateNormalOrder(lv, Emit, EnergyMul)
|
||||
}
|
||||
if lv >= 17 {
|
||||
o.CreateOrder(lv, Emit, EnergyMul)
|
||||
}
|
||||
return nil
|
||||
}
|
||||
@ -258,6 +251,19 @@ func (o *OrderMod) CheckCondition(lv int, condition, Type string, Emit []int, Fi
|
||||
if !GoUtil.InStringArray(r2[1], Class) {
|
||||
return false
|
||||
}
|
||||
case "EmitMax":
|
||||
Class := []string{}
|
||||
for _, v := range Emit {
|
||||
EmitLv := mergeDataCfg.GetLvById(v)
|
||||
MaxLv := mergeDataCfg.GetMaxLvById(v)
|
||||
if EmitLv < MaxLv {
|
||||
continue
|
||||
}
|
||||
Class = append(Class, mergeDataCfg.GetColorById(v))
|
||||
}
|
||||
if GoUtil.InStringArray(r2[1], Class) {
|
||||
return false
|
||||
}
|
||||
}
|
||||
}
|
||||
return true
|
||||
@ -486,13 +492,13 @@ func (o *OrderMod) CreateCleanOrder2(ChessList []int) bool {
|
||||
}
|
||||
|
||||
func (o *OrderMod) CreateExtraOrder(AddChess, AddNewEmit, ChessList []int, EnergyMul int) bool {
|
||||
GetExtraEmitId := mergeDataCfg.GetExtraEmitId()
|
||||
BeginExtraEmitId := orderCfg.GetEmitExtraOrder() // 从发射器F系列开始
|
||||
b1 := false
|
||||
OrderEmit := 0
|
||||
MaxLvChess := make(map[int]int)
|
||||
for _, v := range AddNewEmit {
|
||||
Emit_Id := mergeDataCfg.GetEmitId(v)
|
||||
_, ok := GetExtraEmitId[Emit_Id]
|
||||
ok := Emit_Id >= BeginExtraEmitId
|
||||
_, ok1 := o.EimtOrder[Emit_Id]
|
||||
ChessColor := mergeDataCfg.GetEmitProduceChessType(v)
|
||||
if ok && !ok1 && len(ChessColor) > 0 {
|
||||
@ -589,7 +595,7 @@ func (o *OrderMod) ChangeEnergyMul(lv int, Emit []int, EnergyMul int, ChessList
|
||||
Lv := mergeDataCfg.GetLvById(vv)
|
||||
Color := mergeDataCfg.GetColorById(vv)
|
||||
EmitId := GetEmitByColor(Emit, Color)
|
||||
_, Max := getChesslvRange(EmitId, EnergyMul)
|
||||
_, Max := getChesslvRange(EmitId, EnergyMul, o.IsCharge)
|
||||
Adjust := mergeDataCfg.GetAdjust(EmitId, Color)
|
||||
if Lv >= EnergyMul+1 && Lv <= Max-Adjust {
|
||||
continue
|
||||
@ -661,3 +667,16 @@ func (o *OrderMod) CreateComfortOrder(lv int, Emit []int, EnergyMul, Diff, Chess
|
||||
o.addOrder(mergeList, Diff, COMFORT_TYPE)
|
||||
return nil
|
||||
}
|
||||
|
||||
func (o *OrderMod) ResetChessPool() {
|
||||
o.ChessPool = make([]int, 0)
|
||||
o.EmitShuffle = nil
|
||||
}
|
||||
|
||||
func (o *OrderMod) SetIsCharge() {
|
||||
o.IsCharge = true
|
||||
}
|
||||
|
||||
func (o *OrderMod) GetIsCharge() bool {
|
||||
return o.IsCharge
|
||||
}
|
||||
|
||||
@ -12,9 +12,9 @@ var reflectChess = map[int]int{} // 棋子难度映射表
|
||||
// 订单棋子数量
|
||||
func getChessNumRand(OrderN int) map[int]int {
|
||||
return map[int]int{
|
||||
1: int(15 - 3*OrderN),
|
||||
2: int(50 + OrderN),
|
||||
3: int(35 + 2*OrderN),
|
||||
1: int(70 - 2*OrderN),
|
||||
2: int(25 + OrderN),
|
||||
3: int(5 + OrderN),
|
||||
}
|
||||
}
|
||||
|
||||
@ -24,21 +24,21 @@ func getOrderDiffRand(Diff, OrderN int) map[int]int {
|
||||
switch Diff {
|
||||
case DIFF_MID:
|
||||
d = map[int]int{
|
||||
DIFF_LOW: int(21 - 3*OrderN),
|
||||
DIFF_MID: int(49 + 1.5*float64(OrderN)),
|
||||
DIFF_HIGH: int(30 + 1.5*float64(OrderN)),
|
||||
DIFF_LOW: 21,
|
||||
DIFF_MID: 49,
|
||||
DIFF_HIGH: 30,
|
||||
}
|
||||
case DIFF_HIGH:
|
||||
d = map[int]int{
|
||||
DIFF_LOW: int(60 - 5*OrderN),
|
||||
DIFF_MID: int(30 + 3*float64(OrderN)),
|
||||
DIFF_HIGH: int(10 + 2*float64(OrderN)),
|
||||
DIFF_LOW: 60,
|
||||
DIFF_MID: 30,
|
||||
DIFF_HIGH: 10,
|
||||
}
|
||||
default:
|
||||
d = map[int]int{
|
||||
DIFF_LOW: int(10 - OrderN),
|
||||
DIFF_MID: int(30),
|
||||
DIFF_HIGH: int(60 + OrderN),
|
||||
DIFF_LOW: 10,
|
||||
DIFF_MID: 30,
|
||||
DIFF_HIGH: 60,
|
||||
}
|
||||
}
|
||||
return d
|
||||
@ -56,8 +56,8 @@ func getChessDiff(ChessNum, OrderDiff, OrderN int) map[int]int {
|
||||
switch OrderDiff {
|
||||
case DIFF_LOW:
|
||||
rand := map[int]int{
|
||||
DIFF_LOW: 99 - OrderN,
|
||||
DIFF_MID: 1 + OrderN,
|
||||
DIFF_LOW: 99,
|
||||
DIFF_MID: 1,
|
||||
}
|
||||
secondDiff := GoUtil.RandMap(rand)
|
||||
rs = map[int]int{
|
||||
@ -66,8 +66,8 @@ func getChessDiff(ChessNum, OrderDiff, OrderN int) map[int]int {
|
||||
}
|
||||
case DIFF_MID:
|
||||
rand := map[int]int{
|
||||
DIFF_LOW: 5 + OrderN,
|
||||
DIFF_MID: 95 - OrderN,
|
||||
DIFF_LOW: 50,
|
||||
DIFF_MID: 50,
|
||||
}
|
||||
secondDiff := GoUtil.RandMap(rand)
|
||||
rs = map[int]int{
|
||||
@ -76,9 +76,9 @@ func getChessDiff(ChessNum, OrderDiff, OrderN int) map[int]int {
|
||||
}
|
||||
case DIFF_HIGH:
|
||||
rand := map[int]int{
|
||||
DIFF_LOW: int(95 - 10*OrderN),
|
||||
DIFF_MID: int(4 + 6*OrderN),
|
||||
DIFF_HIGH: int(1 + 4*OrderN),
|
||||
DIFF_LOW: 95,
|
||||
DIFF_MID: 4,
|
||||
DIFF_HIGH: 1,
|
||||
}
|
||||
secondDiff := GoUtil.RandMap(rand)
|
||||
rs = map[int]int{
|
||||
@ -90,13 +90,13 @@ func getChessDiff(ChessNum, OrderDiff, OrderN int) map[int]int {
|
||||
switch OrderDiff {
|
||||
case DIFF_LOW:
|
||||
rand := map[int]int{
|
||||
DIFF_LOW: 95 - OrderN,
|
||||
DIFF_MID: 5 + OrderN,
|
||||
DIFF_LOW: 95,
|
||||
DIFF_MID: 5,
|
||||
}
|
||||
secondDiff := GoUtil.RandMap(rand)
|
||||
rand = map[int]int{
|
||||
DIFF_LOW: 60 - 4*OrderN,
|
||||
DIFF_MID: 40 + 4*OrderN,
|
||||
DIFF_LOW: 70,
|
||||
DIFF_MID: 30,
|
||||
}
|
||||
thirdDiff := GoUtil.RandMap(rand)
|
||||
rs = map[int]int{
|
||||
@ -106,33 +106,33 @@ func getChessDiff(ChessNum, OrderDiff, OrderN int) map[int]int {
|
||||
}
|
||||
case DIFF_MID:
|
||||
rand := map[int]int{
|
||||
DIFF_LOW: 50 - 3*OrderN,
|
||||
DIFF_MID: 50 + 3*OrderN,
|
||||
DIFF_LOW: 95,
|
||||
DIFF_MID: 5,
|
||||
}
|
||||
secondDiff := GoUtil.RandMap(rand)
|
||||
rand = map[int]int{
|
||||
DIFF_MID: 95 - 4*OrderN,
|
||||
DIFF_HIGH: 5 + 4*OrderN,
|
||||
DIFF_LOW: 60,
|
||||
DIFF_MID: 40,
|
||||
}
|
||||
thirdDiff := GoUtil.RandMap(rand)
|
||||
rs = map[int]int{
|
||||
1: DIFF_LOW,
|
||||
1: DIFF_MID,
|
||||
2: secondDiff,
|
||||
3: thirdDiff,
|
||||
}
|
||||
case DIFF_HIGH:
|
||||
rand := map[int]int{
|
||||
DIFF_LOW: int(95 - 10*OrderN),
|
||||
DIFF_MID: int(5 + 10*OrderN),
|
||||
DIFF_LOW: 95,
|
||||
DIFF_MID: 5,
|
||||
}
|
||||
secondDiff := GoUtil.RandMap(rand)
|
||||
rand = map[int]int{
|
||||
DIFF_MID: int(95 - 8*OrderN),
|
||||
DIFF_HIGH: int(5 + 8*OrderN),
|
||||
DIFF_LOW: 50,
|
||||
DIFF_MID: 50,
|
||||
}
|
||||
thirdDiff := GoUtil.RandMap(rand)
|
||||
rs = map[int]int{
|
||||
1: DIFF_LOW,
|
||||
1: DIFF_HIGH,
|
||||
2: secondDiff,
|
||||
3: thirdDiff,
|
||||
}
|
||||
@ -204,7 +204,7 @@ func RandChessColor(Emit []int) string {
|
||||
}
|
||||
|
||||
// 获取棋子等级范围
|
||||
func getChesslvRange(Emit int, EnergyMul int) (int, int) {
|
||||
func getChesslvRange(Emit int, EnergyMul int, IsCharge bool) (int, int) {
|
||||
RandEmitLv := mergeDataCfg.GetLvById(Emit)
|
||||
EmitId := mergeDataCfg.GetEmitId(Emit)
|
||||
RandMaxLv := mergeDataCfg.GetMaxLvById(Emit)
|
||||
@ -213,6 +213,11 @@ func getChesslvRange(Emit int, EnergyMul int) (int, int) {
|
||||
m := int(float64(1+RandEmitLv-RandEmitMinLv) / float64(1+RandMaxLv-RandEmitMinLv) / Ratio * 100)
|
||||
ChessMinLev := orderCfg.GetLvMin(EnergyMul)
|
||||
ChessMaxLev := orderCfg.GetLvMax(EnergyMul, m)
|
||||
ProductList := mergeDataCfg.GetEmitProduceType(Emit)
|
||||
ChessMaxLev = ChessMaxLev - len(ProductList) + 2
|
||||
if IsCharge {
|
||||
ChessMaxLev += 1
|
||||
}
|
||||
return ChessMinLev, ChessMaxLev
|
||||
}
|
||||
|
||||
@ -445,7 +450,7 @@ func GetOrderStar(ChessList []int) int {
|
||||
}
|
||||
|
||||
func GetChessByDiff(EmitId, EnergyMul, Diff int, Color string) []int {
|
||||
ChessMinLv, ChessMaxLv := getChesslvRange(EmitId, EnergyMul)
|
||||
ChessMinLv, ChessMaxLv := getChesslvRange(EmitId, EnergyMul, false)
|
||||
LvRange := getChessLvRange(ChessMinLv, ChessMaxLv, Diff)
|
||||
ChessIds := []int{}
|
||||
for _, v := range LvRange {
|
||||
@ -486,7 +491,7 @@ func getChessFromPoolByDiff(o *OrderMod, Diff int, Emit []int, EnergyMul int) in
|
||||
MinChessColor := mergeDataCfg.GetColorById(MinChessId)
|
||||
NewEmitChessId := GetEmitByColor(Emit, MinChessColor)
|
||||
ColorRand := mergeDataCfg.GetEmitProduceType(NewEmitChessId)
|
||||
ChessMinLv, ChessMaxLv := getChesslvRange(NewEmitChessId, EnergyMul)
|
||||
ChessMinLv, ChessMaxLv := getChesslvRange(NewEmitChessId, EnergyMul, o.IsCharge)
|
||||
NewLev := getChessLv(ChessMinLv, ChessMaxLv, Diff)
|
||||
MinChessLv := mergeDataCfg.GetLvById(MinChessId)
|
||||
NewLev2 := mergeDataCfg.DynamicLev2(NewLev, NewEmitChessId, ColorRand[0], MinChessColor)
|
||||
@ -502,7 +507,7 @@ func getChessFromPoolByDiff(o *OrderMod, Diff int, Emit []int, EnergyMul int) in
|
||||
return Chess
|
||||
}
|
||||
Color := GoUtil.RandStringSlice(ColorRand)
|
||||
ChessMinLv, ChessMaxLv := getChesslvRange(EmitChessId, EnergyMul)
|
||||
ChessMinLv, ChessMaxLv := getChesslvRange(EmitChessId, EnergyMul, o.IsCharge)
|
||||
NewLev := getChessLv(ChessMinLv, ChessMaxLv, Diff)
|
||||
NewLev1 := mergeDataCfg.DynamicLev(NewLev, EmitChessId, Color)
|
||||
MaxLev := mergeDataCfg.GetMaxLvByColor(Color)
|
||||
@ -538,7 +543,7 @@ func initReflectChess(Emits []int, EnergyMul int) {
|
||||
if len(ProduceColor) == 0 || ProduceColor[0] == "" {
|
||||
continue
|
||||
}
|
||||
ChessMinLv, ChessMaxLv := getChesslvRange(Emit, EnergyMul)
|
||||
ChessMinLv, ChessMaxLv := getChesslvRange(Emit, EnergyMul, false)
|
||||
Product := mergeDataCfg.GetEmitProduceChessType(Emit)
|
||||
Start = ChessMinLv
|
||||
End = ChessMinLv + (ChessMaxLv-ChessMinLv+1)/3 - 1
|
||||
|
||||
Loading…
Reference in New Issue
Block a user