修改超级订单奖励逻辑
This commit is contained in:
parent
f621b938bd
commit
e59cbc9360
@ -270,19 +270,8 @@ func (l *LimitedTimeEventMod) ProgressBackData() *msg.ResLimitEventProgress {
|
|||||||
|
|
||||||
// 获取流星雨奖励
|
// 获取流星雨奖励
|
||||||
func (l *LimitedTimeEventMod) GetMeteorReward(MergeList, EmitList []int) []*item.Item {
|
func (l *LimitedTimeEventMod) GetMeteorReward(MergeList, EmitList []int) []*item.Item {
|
||||||
eneryg := 0
|
energy := order.GetVirtualEnergy(MergeList, EmitList)
|
||||||
for _, v := range MergeList {
|
NewStar := int(max(math.Ceil(float64(energy)/0.36*0.1), 1))
|
||||||
ChessLv := mergeDataCfg.GetLvById(v)
|
|
||||||
Color := mergeDataCfg.GetColorById(v)
|
|
||||||
EmitId := order.GetEmitByColor(EmitList, Color)
|
|
||||||
if EmitId == 0 {
|
|
||||||
continue
|
|
||||||
}
|
|
||||||
NewChessLv := mergeDataCfg.DynamicLevRev(ChessLv, EmitId, Color)
|
|
||||||
eneryg += int(math.Pow(2, float64(NewChessLv)))
|
|
||||||
}
|
|
||||||
|
|
||||||
NewStar := int(max(math.Ceil(float64(eneryg)/0.36*0.1), 1))
|
|
||||||
return []*item.Item{{Id: item.ITEM_STAR_ID, Num: NewStar}}
|
return []*item.Item{{Id: item.ITEM_STAR_ID, Num: NewStar}}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -2,7 +2,6 @@ package order
|
|||||||
|
|
||||||
import (
|
import (
|
||||||
"fmt"
|
"fmt"
|
||||||
limitedTimeEventCfg "server/conf/limited_time_event"
|
|
||||||
mergeDataCfg "server/conf/merge_data"
|
mergeDataCfg "server/conf/merge_data"
|
||||||
orderCfg "server/conf/order"
|
orderCfg "server/conf/order"
|
||||||
"server/game/mod/item"
|
"server/game/mod/item"
|
||||||
@ -118,12 +117,7 @@ func (o *OrderMod) RewardOrder(id int) ([]*item.Item, []int, int, int, error) {
|
|||||||
for _, v := range v.MergeId {
|
for _, v := range v.MergeId {
|
||||||
Star += mergeDataCfg.GetStarById(v)
|
Star += mergeDataCfg.GetStarById(v)
|
||||||
}
|
}
|
||||||
if v.Type == Super_type {
|
ItemList = v.Items
|
||||||
Items := limitedTimeEventCfg.GetSuperOrderReward(Star)
|
|
||||||
ItemList = append(ItemList, Items...)
|
|
||||||
} else {
|
|
||||||
ItemList = v.Items
|
|
||||||
}
|
|
||||||
if v.Type == Guide_type {
|
if v.Type == Guide_type {
|
||||||
return nil, v.MergeId, v.Type, 0, nil
|
return nil, v.MergeId, v.Type, 0, nil
|
||||||
}
|
}
|
||||||
|
|||||||
@ -411,6 +411,21 @@ func GetEmitByColor(Emit []int, color string) int {
|
|||||||
return 0
|
return 0
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func GetVirtualEnergy(MergeList, EmitList []int) int {
|
||||||
|
eneryg := 0
|
||||||
|
for _, v := range MergeList {
|
||||||
|
ChessLv := mergeDataCfg.GetLvById(v)
|
||||||
|
Color := mergeDataCfg.GetColorById(v)
|
||||||
|
EmitId := GetEmitByColor(EmitList, Color)
|
||||||
|
if EmitId == 0 {
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
NewChessLv := mergeDataCfg.DynamicLevRev(ChessLv, EmitId, Color)
|
||||||
|
eneryg += int(math.Pow(2, float64(NewChessLv)))
|
||||||
|
}
|
||||||
|
return eneryg
|
||||||
|
}
|
||||||
|
|
||||||
// 随机生成超级订单棋子
|
// 随机生成超级订单棋子
|
||||||
func randSuperOrderChess(o *OrderMod, lv int, Emit []int, EnergyMul int) ([]int, int, error) {
|
func randSuperOrderChess(o *OrderMod, lv int, Emit []int, EnergyMul int) ([]int, int, error) {
|
||||||
initReflectChess(Emit, EnergyMul)
|
initReflectChess(Emit, EnergyMul)
|
||||||
|
|||||||
@ -282,6 +282,11 @@ func ReqRewardOrder(player *Player, buf []byte) error {
|
|||||||
if OrderType == order.Pet_type {
|
if OrderType == order.Pet_type {
|
||||||
Item = player.FormatPetOrderItem(Item)
|
Item = player.FormatPetOrderItem(Item)
|
||||||
}
|
}
|
||||||
|
if OrderType == order.Super_type {
|
||||||
|
virtualEnergy := order.GetVirtualEnergy(mergeList, ChessMod.GetStarEmitList())
|
||||||
|
superOrderItem := limitedTimeEventCfg.GetSuperOrderReward(virtualEnergy)
|
||||||
|
Item = item.Merge(Item, superOrderItem)
|
||||||
|
}
|
||||||
ActItem := player.GetActivityItem(GoUtil.Int32ToInt(req.ActType))
|
ActItem := player.GetActivityItem(GoUtil.Int32ToInt(req.ActType))
|
||||||
Item = item.Merge(Item, ActItem)
|
Item = item.Merge(Item, ActItem)
|
||||||
if !OrderMod.CheckSuperOrder() {
|
if !OrderMod.CheckSuperOrder() {
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user