虚拟体力打点

This commit is contained in:
hahwu 2026-03-26 15:10:50 +08:00
parent 820ae5bbfa
commit f62cd62952
3 changed files with 21 additions and 22 deletions

View File

@ -865,10 +865,11 @@ func (player *Player) TriggerOrder(lv int, Type string, Emit []int, EnergyMul in
vType = orderType vType = orderType
} }
player.TeLog("preset_order_birth", map[string]interface{}{ player.TeLog("preset_order_birth", map[string]interface{}{
"order_id": v.Id, "order_id": v.Id,
"order_item_id": v.MergeList, "order_item_id": v.MergeList,
"preset_order_group": v.Group, "preset_order_group": v.Group,
"preset_order_step": v.Step, "preset_order_step": v.Step,
"order_virtual_energy": order.GetVirtualEnergy(v.MergeList, player.GetChessMod().GetStarEmitList()),
}) })
if exists { if exists {
orderInfo.Type = order.Fixed_type orderInfo.Type = order.Fixed_type

View File

@ -6,7 +6,6 @@ import (
limitedTimeEventCfg "server/conf/limited_time_event" limitedTimeEventCfg "server/conf/limited_time_event"
mergeDataCfg "server/conf/merge_data" mergeDataCfg "server/conf/merge_data"
"server/game/mod/item" "server/game/mod/item"
"server/game/mod/order"
GoUtil "server/game_util" GoUtil "server/game_util"
"server/msg" "server/msg"
) )
@ -257,16 +256,14 @@ func (l *LimitedTimeEventMod) ProgressBackData() *msg.ResLimitEventProgress {
} }
// 获取流星雨奖励 // 获取流星雨奖励
func (l *LimitedTimeEventMod) GetMeteorReward(mergeList, emitList []int) []*item.Item { func (l *LimitedTimeEventMod) GetMeteorReward(virtualEnergy int) []*item.Item {
energy := order.GetVirtualEnergy(mergeList, emitList) newStar := int(max(math.Ceil(float64(virtualEnergy)/0.36*0.1), 1))
newStar := int(max(math.Ceil(float64(energy)/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}}
} }
// 获取宝箱雨奖励 // 获取宝箱雨奖励
func (l *LimitedTimeEventMod) GetChestReward(mergeList, emitList []int) []*item.Item { func (l *LimitedTimeEventMod) GetChestReward(virtualEnergy int) []*item.Item {
energy := order.GetVirtualEnergy(mergeList, emitList) star := math.Ceil(float64(virtualEnergy) / 10 / 2.5)
star := math.Ceil(float64(energy) / 10 / 2.5)
return []*item.Item{item.NewItem(item.ITEM_DIAMOND_ID, int(star))} return []*item.Item{item.NewItem(item.ITEM_DIAMOND_ID, int(star))}
} }

View File

@ -277,8 +277,8 @@ func ReqRewardOrder(player *Player, buf []byte) error {
if orderType == order.Pet_type { if orderType == order.Pet_type {
items = player.FormatPetOrderItem(items) items = player.FormatPetOrderItem(items)
} }
virtualEnergy := order.GetVirtualEnergy(mergeList, ChessMod.GetStarEmitList())
if orderType == order.Super_type { if orderType == order.Super_type {
virtualEnergy := order.GetVirtualEnergy(mergeList, ChessMod.GetStarEmitList())
superOrderItem := limitedTimeEventCfg.GetSuperOrderReward(virtualEnergy) superOrderItem := limitedTimeEventCfg.GetSuperOrderReward(virtualEnergy)
items = item.Merge(items, superOrderItem) items = item.Merge(items, superOrderItem)
} }
@ -293,7 +293,7 @@ func ReqRewardOrder(player *Player, buf []byte) error {
} }
} }
if LimitedTimeEventMod.CheckExist(limitedTimeEvent.EVENT_TYPE_METEOR_SHOW) { //流星雨活动 if LimitedTimeEventMod.CheckExist(limitedTimeEvent.EVENT_TYPE_METEOR_SHOW) { //流星雨活动
addItem := LimitedTimeEventMod.GetMeteorReward(mergeList, ChessMod.GetStarEmitList()) addItem := LimitedTimeEventMod.GetMeteorReward(virtualEnergy)
if len(addItem) > 0 { if len(addItem) > 0 {
player.TeLog("time_limited_event_action", map[string]interface{}{ player.TeLog("time_limited_event_action", map[string]interface{}{
"event_type": limitedTimeEventCfg.GetEventName(limitedTimeEvent.EVENT_TYPE_METEOR_SHOW), "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) { //宝箱雨活动 if LimitedTimeEventMod.CheckExist(limitedTimeEvent.EVENT_TYPE_CHEST_RAIN) { //宝箱雨活动
chestRainItems := LimitedTimeEventMod.GetChestReward(mergeList, ChessMod.GetStarEmitList()) chestRainItems := LimitedTimeEventMod.GetChestReward(virtualEnergy)
player.args["ResItemPopId"] = req.OrderId player.args["ResItemPopId"] = req.OrderId
err = player.HandleItem(chestRainItems, msg.ITEM_POP_LABEL_LimitEventChestRain.String()) err = player.HandleItem(chestRainItems, msg.ITEM_POP_LABEL_LimitEventChestRain.String())
if err != nil { 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)) preset_order_group, preset_order_step := orderCfg.GetStartOrderInfo(int(req.OrderId))
player.TeLog("order_finish", map[string]interface{}{ player.TeLog("order_finish", map[string]interface{}{
"order_id": int(req.OrderId), "order_id": int(req.OrderId),
"order_item_id": mergeList, "order_item_id": mergeList,
"order_type": orderType, "order_type": orderType,
"order_star_reward": order_star_reward, "order_star_reward": order_star_reward,
"order_item_reward": order_item_reward, "order_item_reward": order_item_reward,
"order_star_value": star, "order_star_value": star,
"preset_order_group": preset_order_group, "preset_order_group": preset_order_group,
"preset_order_step": preset_order_step, "preset_order_step": preset_order_step,
"order_virtual_energy": virtualEnergy,
}) })
player.PetItemGetLog(items, nil, "Order") player.PetItemGetLog(items, nil, "Order")
player.EmitRetireTrigger2() player.EmitRetireTrigger2()