订单优化
This commit is contained in:
parent
d79476b0d2
commit
02b7884357
@ -548,3 +548,35 @@ func GetOrderItem(Star int) map[int][]gamedata.PetOrderItem {
|
||||
}
|
||||
return r
|
||||
}
|
||||
|
||||
func GetOrderItemList() []int {
|
||||
data, err := gamedata.GetData(CFG_PLAYROOM_ORDERITEM)
|
||||
if err != nil {
|
||||
log.Debug("GetOrderItemList err:%v", err)
|
||||
return nil
|
||||
}
|
||||
r := make([]int, 0)
|
||||
for k := range data {
|
||||
Id := GoUtil.Int(k)
|
||||
if Id == 0 {
|
||||
log.Debug("GetOrderItemList Id is 0")
|
||||
continue
|
||||
}
|
||||
r = append(r, Id)
|
||||
}
|
||||
return r
|
||||
}
|
||||
|
||||
func GetPetOrderItemExpByList(ItemList []*item.Item) int {
|
||||
r := 0
|
||||
for _, v := range ItemList {
|
||||
data, err := gamedata.GetDataByIntKey(CFG_PLAYROOM_ORDERITEM, v.Id)
|
||||
if err != nil {
|
||||
// log.Debug("GetPetOrderItemExpByList err:%v", err)
|
||||
continue
|
||||
}
|
||||
Star := gamedata.GetIntValue(data, "Star")
|
||||
r += Star * v.Num
|
||||
}
|
||||
return r
|
||||
}
|
||||
|
||||
@ -847,12 +847,29 @@ func NotifyChampshipResult(Uid, Rank int) {
|
||||
}
|
||||
}
|
||||
|
||||
func (player *Player) GetPetOrderItemExp() int {
|
||||
OrderItemCfgList := playroomCfg.GetOrderItemList()
|
||||
itemList := make([]*item.Item, 0)
|
||||
ItemMod := player.PlayMod.getItemMod()
|
||||
for _, v := range OrderItemCfgList {
|
||||
Num := ItemMod.GetItem(v)
|
||||
if Num <= 0 {
|
||||
continue
|
||||
}
|
||||
itemList = append(itemList, &item.Item{
|
||||
Id: v,
|
||||
Num: Num,
|
||||
})
|
||||
}
|
||||
return playroomCfg.GetPetOrderItemExpByList(itemList)
|
||||
}
|
||||
|
||||
func (player *Player) FormatOrderReward() {
|
||||
Exp, PExp := userCfg.GetLevUpExp(player.GetPlayerBaseMod().GetLevel())
|
||||
BaseMod := player.PlayMod.getBaseMod()
|
||||
DecorateMod := player.PlayMod.getDecorateMod()
|
||||
ExpCoin := (Exp - BaseMod.GetExp()) * decorateCfg.GetAreaPerPExp(DecorateMod.GetAreaId())
|
||||
PExpCoin := (PExp - BaseMod.GetPExp()) * 50
|
||||
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() {
|
||||
|
||||
Loading…
Reference in New Issue
Block a user