- 调整能力提升计算时机,确保命中后再恢复原始属性 - 暴击判断前置,仅在命中时计算暴击翻倍及破防逻辑 - 优化回合结束效果清除逻辑,增加状态存活判断 refactor(controller): 重构擂台相关接口返回结构体类型 - 将 ARENA_SET_OWENR、ARENA_FIGHT_OWENR 等函数的返回值统一改为 NullOutboundInfo,并移除冗余字段返回 - 广播逻辑调整,统一使用 Broadcast
58 lines
1.4 KiB
Go
58 lines
1.4 KiB
Go
package controller
|
|
|
|
import (
|
|
"blazing/common/socket/errorcode"
|
|
|
|
"blazing/logic/service/common"
|
|
"blazing/logic/service/fight"
|
|
"blazing/logic/service/fight/info"
|
|
"blazing/logic/service/player"
|
|
)
|
|
|
|
//大乱斗
|
|
|
|
func (h Controller) PET_MELEE(data *fight.StartPetWarInboundInfo, c *player.Player) (result *fight.NullOutboundInfo, err errorcode.ErrorCode) {
|
|
|
|
c.Fightinfo.Mode = info.BattleMode.PET_MELEE
|
|
c.Fightinfo.Status = info.BattleStatus.FIGHT_WITH_PLAYER
|
|
c.Fightinfo.PlayerID = 0
|
|
err = c.JoinFight(func(p common.PlayerI) bool {
|
|
fight.NewFight(p, c, func(foi *info.FightOverInfo) {
|
|
if foi.Reason == 0 && foi.WinnerId == c.GetInfo().UserID { //我放获胜
|
|
|
|
c.Info.MessWin += 1
|
|
|
|
}
|
|
|
|
}) ///开始对战,房主方以及被邀请方
|
|
|
|
return true
|
|
})
|
|
|
|
return
|
|
}
|
|
func (h Controller) PET_King(data *fight.PetKingJoinInboundInfo, c *player.Player) (result *fight.NullOutboundInfo, err errorcode.ErrorCode) {
|
|
|
|
c.Fightinfo.Status = info.BattleStatus.FIGHT_WITH_PLAYER
|
|
c.Fightinfo.PlayerID = 0
|
|
switch data.Type {
|
|
case 5:
|
|
c.Fightinfo.Mode = info.BattleMode.SINGLE_MODE
|
|
case 6:
|
|
c.Fightinfo.Mode = info.BattleMode.MULTI_MODE
|
|
}
|
|
err = c.JoinFight(func(p common.PlayerI) bool {
|
|
fight.NewFight(p, c, func(foi *info.FightOverInfo) {
|
|
if foi.Reason == 0 && foi.WinnerId == c.GetInfo().UserID { //我放获胜
|
|
|
|
c.Info.MonKingWin += 1
|
|
|
|
}
|
|
}) ///开始对战,房主方以及被邀请方
|
|
|
|
return true
|
|
})
|
|
|
|
return
|
|
}
|