From f62cd62952204f0030594bba30d2cace4d3c8be3 Mon Sep 17 00:00:00 2001 From: hahwu <31872165+hahwu@users.noreply.github.com> Date: Thu, 26 Mar 2026 15:10:50 +0800 Subject: [PATCH] =?UTF-8?q?=E8=99=9A=E6=8B=9F=E4=BD=93=E5=8A=9B=E6=89=93?= =?UTF-8?q?=E7=82=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/server/game/message_handler.go | 9 ++++---- .../limited_time_event/limited_time_event.go | 11 ++++----- src/server/game/register_network_func.go | 23 ++++++++++--------- 3 files changed, 21 insertions(+), 22 deletions(-) diff --git a/src/server/game/message_handler.go b/src/server/game/message_handler.go index 8e894464..7a9dc2e0 100644 --- a/src/server/game/message_handler.go +++ b/src/server/game/message_handler.go @@ -865,10 +865,11 @@ func (player *Player) TriggerOrder(lv int, Type string, Emit []int, EnergyMul in vType = orderType } player.TeLog("preset_order_birth", map[string]interface{}{ - "order_id": v.Id, - "order_item_id": v.MergeList, - "preset_order_group": v.Group, - "preset_order_step": v.Step, + "order_id": v.Id, + "order_item_id": v.MergeList, + "preset_order_group": v.Group, + "preset_order_step": v.Step, + "order_virtual_energy": order.GetVirtualEnergy(v.MergeList, player.GetChessMod().GetStarEmitList()), }) if exists { orderInfo.Type = order.Fixed_type diff --git a/src/server/game/mod/limited_time_event/limited_time_event.go b/src/server/game/mod/limited_time_event/limited_time_event.go index 3f69af04..797ba55d 100644 --- a/src/server/game/mod/limited_time_event/limited_time_event.go +++ b/src/server/game/mod/limited_time_event/limited_time_event.go @@ -6,7 +6,6 @@ import ( limitedTimeEventCfg "server/conf/limited_time_event" mergeDataCfg "server/conf/merge_data" "server/game/mod/item" - "server/game/mod/order" GoUtil "server/game_util" "server/msg" ) @@ -257,16 +256,14 @@ func (l *LimitedTimeEventMod) ProgressBackData() *msg.ResLimitEventProgress { } // 获取流星雨奖励 -func (l *LimitedTimeEventMod) GetMeteorReward(mergeList, emitList []int) []*item.Item { - energy := order.GetVirtualEnergy(mergeList, emitList) - newStar := int(max(math.Ceil(float64(energy)/0.36*0.1), 1)) +func (l *LimitedTimeEventMod) GetMeteorReward(virtualEnergy int) []*item.Item { + newStar := int(max(math.Ceil(float64(virtualEnergy)/0.36*0.1), 1)) return []*item.Item{{Id: item.ITEM_STAR_ID, Num: newStar}} } // 获取宝箱雨奖励 -func (l *LimitedTimeEventMod) GetChestReward(mergeList, emitList []int) []*item.Item { - energy := order.GetVirtualEnergy(mergeList, emitList) - star := math.Ceil(float64(energy) / 10 / 2.5) +func (l *LimitedTimeEventMod) GetChestReward(virtualEnergy int) []*item.Item { + star := math.Ceil(float64(virtualEnergy) / 10 / 2.5) return []*item.Item{item.NewItem(item.ITEM_DIAMOND_ID, int(star))} } diff --git a/src/server/game/register_network_func.go b/src/server/game/register_network_func.go index 8adad8b3..6def0a0c 100644 --- a/src/server/game/register_network_func.go +++ b/src/server/game/register_network_func.go @@ -277,8 +277,8 @@ func ReqRewardOrder(player *Player, buf []byte) error { if orderType == order.Pet_type { items = player.FormatPetOrderItem(items) } + virtualEnergy := order.GetVirtualEnergy(mergeList, ChessMod.GetStarEmitList()) if orderType == order.Super_type { - virtualEnergy := order.GetVirtualEnergy(mergeList, ChessMod.GetStarEmitList()) superOrderItem := limitedTimeEventCfg.GetSuperOrderReward(virtualEnergy) items = item.Merge(items, superOrderItem) } @@ -293,7 +293,7 @@ func ReqRewardOrder(player *Player, buf []byte) error { } } if LimitedTimeEventMod.CheckExist(limitedTimeEvent.EVENT_TYPE_METEOR_SHOW) { //流星雨活动 - addItem := LimitedTimeEventMod.GetMeteorReward(mergeList, ChessMod.GetStarEmitList()) + addItem := LimitedTimeEventMod.GetMeteorReward(virtualEnergy) if len(addItem) > 0 { player.TeLog("time_limited_event_action", map[string]interface{}{ "event_type": limitedTimeEventCfg.GetEventName(limitedTimeEvent.EVENT_TYPE_METEOR_SHOW), @@ -341,7 +341,7 @@ func ReqRewardOrder(player *Player, buf []byte) error { } if LimitedTimeEventMod.CheckExist(limitedTimeEvent.EVENT_TYPE_CHEST_RAIN) { //宝箱雨活动 - chestRainItems := LimitedTimeEventMod.GetChestReward(mergeList, ChessMod.GetStarEmitList()) + chestRainItems := LimitedTimeEventMod.GetChestReward(virtualEnergy) player.args["ResItemPopId"] = req.OrderId err = player.HandleItem(chestRainItems, msg.ITEM_POP_LABEL_LimitEventChestRain.String()) if err != nil { @@ -390,14 +390,15 @@ func ReqRewardOrder(player *Player, buf []byte) error { } preset_order_group, preset_order_step := orderCfg.GetStartOrderInfo(int(req.OrderId)) player.TeLog("order_finish", map[string]interface{}{ - "order_id": int(req.OrderId), - "order_item_id": mergeList, - "order_type": orderType, - "order_star_reward": order_star_reward, - "order_item_reward": order_item_reward, - "order_star_value": star, - "preset_order_group": preset_order_group, - "preset_order_step": preset_order_step, + "order_id": int(req.OrderId), + "order_item_id": mergeList, + "order_type": orderType, + "order_star_reward": order_star_reward, + "order_item_reward": order_item_reward, + "order_star_value": star, + "preset_order_group": preset_order_group, + "preset_order_step": preset_order_step, + "order_virtual_energy": virtualEnergy, }) player.PetItemGetLog(items, nil, "Order") player.EmitRetireTrigger2()