2025-11-14 23:09:16 +08:00
|
|
|
package controller
|
|
|
|
|
|
|
|
|
|
import (
|
|
|
|
|
"blazing/common/socket/errorcode"
|
2025-11-15 22:17:43 +00:00
|
|
|
|
2025-11-19 16:11:02 +08:00
|
|
|
"blazing/logic/service/common"
|
2025-11-14 23:09:16 +08:00
|
|
|
"blazing/logic/service/fight"
|
2025-11-15 01:53:51 +08:00
|
|
|
"blazing/logic/service/fight/info"
|
2025-11-14 23:09:16 +08:00
|
|
|
"blazing/logic/service/player"
|
|
|
|
|
)
|
|
|
|
|
|
2025-11-15 01:53:51 +08:00
|
|
|
//大乱斗
|
2025-11-14 23:09:16 +08:00
|
|
|
|
2025-11-15 01:53:51 +08:00
|
|
|
func (h Controller) PET_MELEE(data *fight.StartPetWarInboundInfo, c *player.Player) (result *fight.NullOutboundInfo, err errorcode.ErrorCode) {
|
|
|
|
|
|
2025-11-19 00:09:12 +00:00
|
|
|
c.Fightinfo.Mode = info.BattleMode.PET_MELEE
|
2025-11-21 02:40:27 +08:00
|
|
|
c.Fightinfo.Status = info.BattleMode.PET_MELEE
|
2025-11-20 15:19:13 +08:00
|
|
|
|
2025-11-20 05:57:29 +08:00
|
|
|
err = c.JoinFight(func(p common.PlayerI) bool {
|
2025-11-21 02:40:27 +08:00
|
|
|
_, err = fight.NewFight(p, c, func(foi *info.FightOverInfo) {
|
2025-11-20 15:19:13 +08:00
|
|
|
if foi.Reason == 0 { //我放获胜
|
2025-11-20 05:57:29 +08:00
|
|
|
|
2025-11-20 15:19:13 +08:00
|
|
|
if foi.WinnerId == c.GetInfo().UserID {
|
|
|
|
|
c.Info.MessWin += 1
|
|
|
|
|
} else {
|
|
|
|
|
p.GetInfo().MessWin += 1
|
|
|
|
|
}
|
2025-11-20 05:57:29 +08:00
|
|
|
|
|
|
|
|
}
|
2025-11-15 23:02:46 +00:00
|
|
|
|
|
|
|
|
}) ///开始对战,房主方以及被邀请方
|
2025-11-21 02:40:27 +08:00
|
|
|
if err > 0 { //说明有报错
|
|
|
|
|
|
|
|
|
|
return false
|
|
|
|
|
}
|
2025-11-16 20:30:17 +00:00
|
|
|
|
2025-11-19 16:11:02 +08:00
|
|
|
return true
|
|
|
|
|
})
|
2025-11-15 15:22:58 +08:00
|
|
|
|
|
|
|
|
return
|
|
|
|
|
}
|
|
|
|
|
func (h Controller) PET_King(data *fight.PetKingJoinInboundInfo, c *player.Player) (result *fight.NullOutboundInfo, err errorcode.ErrorCode) {
|
|
|
|
|
|
2025-11-21 02:40:27 +08:00
|
|
|
c.Fightinfo.Status = info.BattleMode.PET_TOPLEVEL
|
2025-11-20 15:19:13 +08:00
|
|
|
|
2025-11-15 15:22:58 +08:00
|
|
|
switch data.Type {
|
|
|
|
|
case 5:
|
2025-11-18 22:16:55 +00:00
|
|
|
c.Fightinfo.Mode = info.BattleMode.SINGLE_MODE
|
2025-11-15 15:22:58 +08:00
|
|
|
case 6:
|
2025-11-18 22:16:55 +00:00
|
|
|
c.Fightinfo.Mode = info.BattleMode.MULTI_MODE
|
2025-11-15 15:22:58 +08:00
|
|
|
}
|
2025-11-20 05:57:29 +08:00
|
|
|
err = c.JoinFight(func(p common.PlayerI) bool {
|
2025-11-28 00:16:51 +08:00
|
|
|
_, err = fight.NewFight(p, c, func(foi *info.FightOverInfo) {
|
2025-11-20 15:19:13 +08:00
|
|
|
if foi.Reason == 0 { //我放获胜
|
|
|
|
|
if foi.WinnerId == c.GetInfo().UserID {
|
|
|
|
|
c.Info.MonKingWin += 1
|
|
|
|
|
} else {
|
|
|
|
|
p.GetInfo().MonKingWin += 1
|
|
|
|
|
}
|
2025-11-15 23:02:46 +00:00
|
|
|
|
2025-11-20 05:57:29 +08:00
|
|
|
}
|
2025-11-19 16:11:02 +08:00
|
|
|
}) ///开始对战,房主方以及被邀请方
|
2025-11-28 00:16:51 +08:00
|
|
|
if err > 0 { //说明有报错
|
2025-11-15 15:22:58 +08:00
|
|
|
|
2025-11-28 00:16:51 +08:00
|
|
|
return false
|
|
|
|
|
}
|
2025-11-19 16:11:02 +08:00
|
|
|
return true
|
|
|
|
|
})
|
2025-11-15 01:53:51 +08:00
|
|
|
|
2025-11-14 23:09:16 +08:00
|
|
|
return
|
|
|
|
|
}
|