订单价格修改
This commit is contained in:
parent
e11c24cc34
commit
dddf7d3953
@ -377,7 +377,29 @@ func GetHighSourceChestItem() []*item.Item {
|
||||
r = append(r, item.NewItem(item.ITEM_ENERGY_ID, B4))
|
||||
return r
|
||||
}
|
||||
|
||||
func DynamicLevRev(Lv int, EmitId int, Color string) int {
|
||||
data, err := gamedata.GetDataByIntKey(CFG_NAME, EmitId)
|
||||
if err != nil {
|
||||
log.Debug("DynamicLev GetOne EmitId:%v not found", EmitId)
|
||||
return Lv
|
||||
}
|
||||
DynamicLv := gamedata.GetStringValue(data, "Dynamic")
|
||||
if DynamicLv == "" {
|
||||
return Lv
|
||||
}
|
||||
Arr := strings.Split(DynamicLv, ",")
|
||||
for _, v := range Arr {
|
||||
Arr2 := strings.Split(v, "=")
|
||||
if len(Arr2) != 2 {
|
||||
continue
|
||||
}
|
||||
if Color == Arr2[0] {
|
||||
NewLv, _ := strconv.Atoi(Arr2[1])
|
||||
return Lv + NewLv
|
||||
}
|
||||
}
|
||||
return Lv
|
||||
}
|
||||
func DynamicLev(Lv int, EmitId int, Color string) int {
|
||||
data, err := gamedata.GetDataByIntKey(CFG_NAME, EmitId)
|
||||
if err != nil {
|
||||
|
||||
@ -13,6 +13,7 @@ const (
|
||||
CFG_START_ORDER = "StartOrder"
|
||||
CFG_CONST = "OrderConst"
|
||||
CFG_ORDER_SCENE = "OrderScene"
|
||||
CFG_ORDER_K = "OrderK"
|
||||
)
|
||||
|
||||
func init() {
|
||||
@ -22,6 +23,17 @@ func init() {
|
||||
gamedata.InitCfg(CFG_START_ORDER)
|
||||
gamedata.InitCfg(CFG_CONST)
|
||||
gamedata.InitCfg(CFG_ORDER_SCENE)
|
||||
gamedata.InitCfg(CFG_ORDER_K)
|
||||
}
|
||||
|
||||
func GetOrderK(Lv int) int {
|
||||
data, err := gamedata.GetDataByIntKey(CFG_ORDER_K, Lv)
|
||||
if err != nil {
|
||||
return 0
|
||||
}
|
||||
Energy := gamedata.GetIntValue(data, "Energy")
|
||||
K := gamedata.GetFloatValue(data, "K")
|
||||
return int(float64((Energy/10)*10) * K)
|
||||
}
|
||||
|
||||
func GetOrderFactor(Scene int) int {
|
||||
|
||||
@ -103,7 +103,10 @@ func handle(p *Player, m *msg.Msg) error {
|
||||
p.PushClientRes(CardMod.NotifyCard())
|
||||
p.PushClientRes(CardMod.NotifyTimes())
|
||||
case msg.HANDLE_TYPE_EX_CARD_TIMEOUT: // B收到A同意置换卡牌超时
|
||||
CardInfo := m.Extra.(card.CardInfo)
|
||||
CardInfo, ok := m.Extra.(card.CardInfo)
|
||||
if !ok {
|
||||
return nil
|
||||
}
|
||||
CardMod := p.PlayMod.getCardMod()
|
||||
p.AddCard(CardInfo.ExId)
|
||||
p.PushClientRes(CardMod.NotifyCard())
|
||||
@ -267,7 +270,13 @@ func handle(p *Player, m *msg.Msg) error {
|
||||
p.AddLog(m.From, friend.LOG_TYPE_TREASURE_HELP, "", m.SendT)
|
||||
p.HandleItem(Items, proto.ITEM_POP_LABEL_Friendtreasure.String())
|
||||
case msg.HANDLE_TYPE_HANDBOOK_COLLECTION: // 图鉴收集奖励
|
||||
data := m.Extra.(msg.HandbookMsg)
|
||||
if m.Extra != nil {
|
||||
return nil
|
||||
}
|
||||
data, ok := m.Extra.(msg.HandbookMsg)
|
||||
if !ok {
|
||||
return nil
|
||||
}
|
||||
p.AddLog(m.From, friend.LOG_TYPE_HANDBOOK, data.Type, m.SendT)
|
||||
case msg.HANDLE_TYPE_HANDBOOK_UPVOTE: // 图鉴点赞
|
||||
FriendMod := p.PlayMod.getFriendMod()
|
||||
@ -1050,6 +1059,7 @@ func (player *Player) TriggerOrder(lv int, Type string, Emit []int, EnergyMul in
|
||||
func (player *Player) AddOrder() {
|
||||
BaseMod := player.PlayMod.getBaseMod()
|
||||
OrderMod := player.PlayMod.getOrderMod()
|
||||
ChessMod := player.PlayMod.getChessMod()
|
||||
MaxOrderNum := orderCfg.GetOrderNum(BaseMod.GetLevel())
|
||||
n := 0
|
||||
if OrderMod.LastOrder.Type == order.Preheat_type {
|
||||
@ -1061,7 +1071,7 @@ func (player *Player) AddOrder() {
|
||||
OrderMod.PreheatStep[ChessColor]++
|
||||
Items, ok := order.PreheatItems[OrderMod.PreheatStep[ChessColor]]
|
||||
if !ok {
|
||||
Items = []*item.Item{item.NewItem(item.ITEM_STAR_ID, order.GetOrderStar([]int{NewChessId}))}
|
||||
Items = []*item.Item{item.NewItem(item.ITEM_STAR_ID, order.GetOrderStar([]int{NewChessId}, ChessMod.GetOrderEmit()))}
|
||||
}
|
||||
OrderMod.AddPreheatOrder([]int{NewChessId}, order.DIFF_LOW, order.Preheat_type, Items)
|
||||
}
|
||||
@ -1074,6 +1084,17 @@ func (player *Player) AddOrder() {
|
||||
for i := n; i < MaxOrderNum; i++ {
|
||||
player.CreateNormalOrder()
|
||||
}
|
||||
for k, v := range OrderMod.OrderList {
|
||||
if v.Type == order.Super_type {
|
||||
continue
|
||||
}
|
||||
if len(v.Items) > 0 {
|
||||
continue
|
||||
}
|
||||
Star := order.GetOrderStar(v.MergeId, ChessMod.GetOrderEmit())
|
||||
v.Items = []*item.Item{item.NewItem(item.ITEM_STAR_ID, Star)}
|
||||
OrderMod.OrderList[k] = v
|
||||
}
|
||||
}
|
||||
func (player *Player) CreateNormalOrder() {
|
||||
Exp, PExp := userCfg.GetLevUpExp(player.GetPlayerBaseMod().GetLevel())
|
||||
@ -1111,7 +1132,7 @@ func (player *Player) CreateNormalOrder() {
|
||||
continue
|
||||
}
|
||||
Items := make([]*item.Item, 0)
|
||||
Star := order.GetOrderStar(v.MergeId)
|
||||
Star := order.GetOrderStar(v.MergeId, ChessMod.GetOrderEmit())
|
||||
Star = int(float64(Star)*float64(OrderFactor)/1000) * 10
|
||||
Items = player.GetPetOrderReward(Star, Items)
|
||||
if len(Items) == 1 && Items[0].Id == item.ITEM_STAR_ID {
|
||||
@ -1194,7 +1215,7 @@ func (player *Player) CreateNormalOrder() {
|
||||
continue
|
||||
}
|
||||
Items := make([]*item.Item, 0)
|
||||
Star := order.GetOrderStar(v.MergeId)
|
||||
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
|
||||
|
||||
@ -289,9 +289,9 @@ func UnitPlayroomOrder(p *Player) error {
|
||||
}
|
||||
|
||||
func UnitPetOrder(p *Player) error {
|
||||
VarMod := p.PlayMod.getVarMod()
|
||||
VarMod.DailyResetTime = 0
|
||||
p.ZeroUpdate(nil)
|
||||
ChessMod := p.PlayMod.getChessMod()
|
||||
a := order.GetOrderStar([]int{246, 15}, ChessMod.GetOrderEmit())
|
||||
fmt.Print(a)
|
||||
return nil
|
||||
}
|
||||
|
||||
|
||||
@ -478,17 +478,12 @@ func (o *OrderMod) CreateSuperOrder(lv int, Emit []int, EnergyMul int) error {
|
||||
}
|
||||
func (o *OrderMod) addOrder(ChessList []int, Diff int, Type int) int {
|
||||
o.Auto_id++
|
||||
Star := GetOrderStar(ChessList)
|
||||
Items := make([]*item.Item, 0)
|
||||
if Type != Super_type {
|
||||
Items = []*item.Item{item.NewItem(item.ITEM_STAR_ID, Star)}
|
||||
}
|
||||
Order := Order{
|
||||
MergeId: ChessList,
|
||||
Diff: Diff,
|
||||
Type: Type,
|
||||
Timestamp: time.Now().Unix(),
|
||||
Items: Items,
|
||||
Items: nil,
|
||||
}
|
||||
o.OrderList[o.Auto_id] = Order
|
||||
if Type == Common_type {
|
||||
@ -651,7 +646,7 @@ func (o *OrderMod) ChangeEnergyMul(lv int, Emit []int, EnergyMul int, ChessList
|
||||
delete(o.OrderList, k)
|
||||
Items, ok := PreheatItems[PreheatStep]
|
||||
if !ok {
|
||||
Items = []*item.Item{item.NewItem(item.ITEM_STAR_ID, GetOrderStar(ChessList))}
|
||||
Items = []*item.Item{item.NewItem(item.ITEM_STAR_ID, GetOrderStar(ChessList, Emit))}
|
||||
}
|
||||
o.addPreheatOrder([]int{NewChessId}, DIFF_LOW, Preheat_type, Items)
|
||||
}
|
||||
|
||||
@ -657,10 +657,17 @@ func getEmitSeries(o *OrderMod, Emit []int) string {
|
||||
}
|
||||
|
||||
// 订单能获取的宠物币
|
||||
func GetOrderStar(ChessList []int) int {
|
||||
func GetOrderStar(ChessList []int, EmitList []int) int {
|
||||
Star := 0
|
||||
for _, v := range ChessList {
|
||||
Star += mergeDataCfg.GetStarById(v)
|
||||
ChessLv := mergeDataCfg.GetLvById(v)
|
||||
Color := mergeDataCfg.GetColorById(v)
|
||||
EmitId := GetEmitByColor(EmitList, Color)
|
||||
if EmitId == 0 {
|
||||
continue
|
||||
}
|
||||
NewChessLv := mergeDataCfg.DynamicLevRev(ChessLv, EmitId, Color)
|
||||
Star += orderCfg.GetOrderK(NewChessLv)
|
||||
}
|
||||
return Star
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user