订单bug修复
This commit is contained in:
parent
6c78877c6a
commit
0c4104de41
@ -33,7 +33,8 @@ func GetOrderK(Lv int) int {
|
||||
}
|
||||
Energy := gamedata.GetIntValue(data, "Energy")
|
||||
K := gamedata.GetFloatValue(data, "K")
|
||||
return int(float64((Energy/10)*10) * K)
|
||||
a := float64(Energy)*K/10 + 0.5
|
||||
return int(a) * 10
|
||||
}
|
||||
|
||||
func GetOrderFactor(Scene int) int {
|
||||
|
||||
@ -553,6 +553,7 @@ func (p *PlayerBaseData) AddExp(player *Player, exp int, pexp int) (int, error)
|
||||
}
|
||||
}
|
||||
EmitRetireTrigger2(player)
|
||||
player.InitOrderItem()
|
||||
player.PushClientRes(p.BackAsset())
|
||||
return upLv, nil
|
||||
}
|
||||
|
||||
@ -105,6 +105,7 @@ func (p *PlayerChessData) UpdatePlayerChessData(player *Player, buf []byte) erro
|
||||
ChessMod.ChessMap = update.MChessData
|
||||
Update := OrderMod.CreateExtraOrder(AddChessList, AddNewEmit, ChessMod.GetUnlockChessList(), BaseMod.GetEnergyMul(), BaseMod.GetLevel())
|
||||
if Update {
|
||||
player.InitOrderItem()
|
||||
player.PushClientRes(OrderMod.BackData())
|
||||
}
|
||||
return nil
|
||||
@ -283,6 +284,7 @@ func (p *PlayerChessData) HandleChess(player *Player, handle_list []*msg.ChessHa
|
||||
}
|
||||
player.QuestTriggerList(TriggerList)
|
||||
EmitRetireTrigger1(player)
|
||||
player.InitOrderItem()
|
||||
player.PushClientRes(ChessMod.BackData())
|
||||
player.PlayMod.save()
|
||||
return AddChessList, AddNewEmit, nil
|
||||
|
||||
@ -1221,20 +1221,27 @@ func (player *Player) CreateNormalOrder() {
|
||||
return
|
||||
}
|
||||
OrderMod.CreateOrder(BaseMod.GetLevel(), ChessMod.GetOrderEmit(), BaseMod.GetEnergyMul(), order.Common_type)
|
||||
|
||||
}
|
||||
func (player *Player) InitOrderItem() {
|
||||
OrderMod := player.PlayMod.getOrderMod()
|
||||
DecorateMod := player.PlayMod.getDecorateMod()
|
||||
ChessMod := player.PlayMod.getChessMod()
|
||||
OrderFactor := orderCfg.GetOrderFactor(DecorateMod.GetAreaId())
|
||||
for k, v := range OrderMod.GetOrderList() {
|
||||
if k == OrderMod.Auto_id {
|
||||
if v.Type != order.Common_type {
|
||||
continue
|
||||
}
|
||||
Items := make([]*item.Item, 0)
|
||||
Star := order.GetOrderStar(v.MergeId, ChessMod.GetOrderEmit())
|
||||
Star = int(float64(Star)*float64(OrderFactor)/1000) * 10
|
||||
v.Items = append(Items, &item.Item{Id: item.ITEM_STAR_ID, Num: Star})
|
||||
OrderMod.OrderList[k] = v
|
||||
if v.Type == order.Super_type {
|
||||
continue
|
||||
}
|
||||
if len(v.Items) != 0 {
|
||||
continue
|
||||
}
|
||||
Items := make([]*item.Item, 0)
|
||||
Star := order.GetOrderStar(v.MergeId, ChessMod.GetStarEmitList())
|
||||
Star = int(float64(Star)*float64(OrderFactor)/1000) * 10
|
||||
v.Items = append(Items, &item.Item{Id: item.ITEM_STAR_ID, Num: Star})
|
||||
OrderMod.OrderList[k] = v
|
||||
}
|
||||
}
|
||||
|
||||
func (player *Player) GetPetOrderReward(Star int, Items []*item.Item) []*item.Item {
|
||||
OrderItem := playroomCfg.GetOrderItem(Star)
|
||||
type sortData struct {
|
||||
|
||||
@ -146,6 +146,8 @@ func RegSetEneryFunc(player *Player, buf []byte) error {
|
||||
Emit := player.PlayMod.getChessMod().GetOrderEmit()
|
||||
ChessList := player.PlayMod.getChessMod().GetUnlockChessList()
|
||||
OrderMod.ChangeEnergyMul(Lv, Emit, int(req.EnergyMul), ChessList)
|
||||
player.InitOrderItem()
|
||||
player.PlayMod.save()
|
||||
player.PushClientRes(OrderMod.BackData())
|
||||
player.PushClientRes(player.PlayMod.getBaseMod().BackData())
|
||||
return nil
|
||||
@ -365,6 +367,7 @@ func ReqRewardOrder(player *Player, buf []byte) error {
|
||||
OrderMod.TriggerOrder(Lv, order.TRIGGER_TYPE_ORDER, Emit, EnergyMul)
|
||||
player.AddOrder()
|
||||
player.AddHighOrder()
|
||||
player.InitOrderItem()
|
||||
// 存钱罐增加钻石
|
||||
PiggyBankMod := player.PlayMod.getPiggyBankMod()
|
||||
PiggyBankMod.Trigger()
|
||||
@ -637,6 +640,7 @@ func ReqGetChessFromBuff(player *Player, buf []byte) error {
|
||||
}
|
||||
triggerComposeChess(player, ChessId, player.PlayMod.getBaseMod().EnergyMul, player.PlayMod.getChessMod().GetEmitList())
|
||||
EmitRetireTrigger1(player)
|
||||
player.InitOrderItem()
|
||||
player.PlayMod.save()
|
||||
player.PushClientRes(ChessMod.BackData())
|
||||
player.PushClientRes(&msg.ResGetChessFromBuff{
|
||||
@ -747,6 +751,7 @@ func ReqTakeChessOutBag(player *Player, buf []byte) error {
|
||||
"bag_id": req.BagId,
|
||||
"chess_id": ChessId,
|
||||
})
|
||||
player.InitOrderItem()
|
||||
player.PlayMod.save()
|
||||
player.PushClientRes(ChessMod.BackData())
|
||||
player.PushClientRes(&msg.ResTakeChessOutBag{
|
||||
|
||||
@ -4,6 +4,7 @@ import (
|
||||
"fmt"
|
||||
"math"
|
||||
mergeDataCfg "server/conf/mergeData"
|
||||
orderCfg "server/conf/order"
|
||||
"server/game/mod/decorate"
|
||||
"server/game/mod/item"
|
||||
"server/game/mod/order"
|
||||
@ -306,7 +307,10 @@ func UnitPlayroomOrder(p *Player) error {
|
||||
func UnitPetOrder(p *Player) error {
|
||||
p.AddOrder()
|
||||
ChessMod := p.PlayMod.getChessMod()
|
||||
a := order.GetOrderStar([]int{246, 15}, ChessMod.GetOrderEmit())
|
||||
DecorateMod := p.PlayMod.getDecorateMod()
|
||||
OrderFactor := orderCfg.GetOrderFactor(DecorateMod.GetAreaId())
|
||||
Star := order.GetOrderStar([]int{307, 1026}, ChessMod.GetStarEmitList())
|
||||
a := int(float64(Star)*float64(OrderFactor)/1000+0.5) * 10
|
||||
fmt.Print(a)
|
||||
return nil
|
||||
}
|
||||
|
||||
@ -261,7 +261,31 @@ func (cb *ChessBorad) RemoveChess(Id int) error {
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (cb *ChessBorad) GetStarEmitList() []int {
|
||||
result := make([]int, 0, len(cb.EmitList))
|
||||
EM := make(map[string]int)
|
||||
for k, v := range cb.EmitList {
|
||||
if v <= 0 {
|
||||
delete(cb.EmitList, k)
|
||||
continue
|
||||
}
|
||||
EmitID := mergeDataCfg.GetEmitId(k)
|
||||
if EmitID == "" {
|
||||
continue
|
||||
}
|
||||
EmitType := mergeDataCfg.GetEmitType(k)
|
||||
if EmitType == "sub" {
|
||||
continue
|
||||
}
|
||||
if v > 0 {
|
||||
EM[EmitID] = max(EM[EmitID], k)
|
||||
}
|
||||
}
|
||||
for _, v := range EM {
|
||||
result = append(result, v)
|
||||
}
|
||||
return result
|
||||
}
|
||||
func (cb *ChessBorad) GetEmitList() []int {
|
||||
result := make([]int, 0, len(cb.EmitList))
|
||||
EM := make(map[string]int)
|
||||
|
||||
@ -143,14 +143,14 @@ func getChessByDiff(Lv, Diff, Type int) (int, int, int) {
|
||||
if Type == Common_type {
|
||||
switch Diff {
|
||||
case DIFF_MID:
|
||||
return 100, 600, GoUtil.RandMap(map[int]int{1: 33, 2: 67})
|
||||
return 100, 600, GoUtil.RandMap(map[int]int{1: 50, 2: 50})
|
||||
case DIFF_HIGH:
|
||||
return 500, 1200, GoUtil.RandMap(map[int]int{1: 67, 2: 33})
|
||||
return 500, 1200, GoUtil.RandMap(map[int]int{1: 33, 2: 67})
|
||||
default:
|
||||
if Lv < 23 {
|
||||
return 15, 150, GoUtil.RandMap(map[int]int{1: 33, 2: 67})
|
||||
return 15, 150, GoUtil.RandMap(map[int]int{1: 67, 2: 33})
|
||||
}
|
||||
return 30, 200, GoUtil.RandMap(map[int]int{1: 50, 2: 50})
|
||||
return 30, 200, GoUtil.RandMap(map[int]int{1: 67, 2: 33})
|
||||
}
|
||||
}
|
||||
if Type == Pet_type {
|
||||
@ -667,7 +667,8 @@ func GetOrderStar(ChessList []int, EmitList []int) int {
|
||||
continue
|
||||
}
|
||||
NewChessLv := mergeDataCfg.DynamicLevRev(ChessLv, EmitId, Color)
|
||||
Star += orderCfg.GetOrderK(NewChessLv)
|
||||
n := orderCfg.GetOrderK(NewChessLv)
|
||||
Star += n
|
||||
}
|
||||
return Star
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user