Some checks failed
ci/woodpecker/push/my-first-workflow Pipeline failed
refactor(fight): 移除能力操作类型枚举并简化属性设置方法 移除了 info.EnumAbilityOpType 枚举类型及其相关常量定义, 重构了 SetProp 方法调用,不再传递操作类型参数, 通过检查等级正负值来判断是增加还是减少属性, 减少了代码复杂度并统一了属性变更的处理逻辑。 ```
116 lines
4.7 KiB
Go
116 lines
4.7 KiB
Go
package info
|
||
|
||
import (
|
||
"github.com/tnnmigga/enum"
|
||
)
|
||
|
||
// type Battle struct {
|
||
// Rand *random.RandomXS128 //本次战斗随机数
|
||
// same []BattleInputSourceEntity //同阵营
|
||
// Round int //回合数
|
||
// BattleMode EnumBattleMode //战斗模式
|
||
// opposite []BattleInputSourceEntity //不同阵营
|
||
// Effects *NodeManager //挂载effect,实际上是给每个输入源,然后触发时候循环调用Effects ,
|
||
|
||
// //A的effect->触发死亡->这时候就应该调用对手的切换,实现effect62
|
||
// }
|
||
|
||
// 执行下一回合
|
||
// func (b *Battle) NextRound() {
|
||
|
||
// b.Round++ //回合数加1
|
||
|
||
// }
|
||
|
||
// 战斗模式
|
||
|
||
// BattleMode 战斗模式(对应AS中的战斗类型常量)
|
||
var BattleMode = enum.New[struct {
|
||
// 基础模式
|
||
FIGHT_WITH_NPC uint32 `enum:"0"` //NPC模式
|
||
SINGLE_MODE uint32 `enum:"1"` // 单人模式
|
||
MULTI_MODE uint32 `enum:"2"` // 多人模式
|
||
PET_MELEE uint32 `enum:"3"` // 宠物乱斗模式
|
||
DARK_FIGHT uint32 `enum:"4"` // 暗黑战斗
|
||
PET_TOPLEVEL uint32 `enum:"5"` // 宠物顶级战
|
||
PET_ELEMENT_FIGHT uint32 `enum:"6"` // 宠物元素战斗(修正原拼写错误:ELMENT → ELEMENT)
|
||
FIGHT_DEMON_SPACE uint32 `enum:"7"` // 魔域战斗
|
||
BATTLE_LAB uint32 `enum:"8"` // 战斗实验室
|
||
LUCKY_BATTLE uint32 `enum:"9"` // 幸运战斗
|
||
FIGHT_ARENA uint32 `enum:"10"` // 竞技场战斗
|
||
CORE_FIGHT uint32 `enum:"11"` // 核心战斗
|
||
IMAGE_FIGHT uint32 `enum:"12"` // 镜像战斗
|
||
TOP_WAR_BEYOND uint32 `enum:"13"` // 巅峰之战·超越
|
||
HIGHER_FIGHT uint32 `enum:"14"` // 高阶战斗
|
||
GOLDEN_PALACE_FIGHT uint32 `enum:"15"` // 金殿战斗
|
||
FANTASY_PET_MELEE uint32 `enum:"16"` // 梦幻宠物乱斗
|
||
REFRACTIVE_MAGIC uint32 `enum:"17"` // 折射魔法战
|
||
PET_MELEE_FIGHT_BOSS uint32 `enum:"18"` // 宠物乱斗·打BOSS
|
||
PET_TRY_FIGHT uint32 `enum:"19"` // 宠物试玩战斗
|
||
PET_TOPLEVEL_NEW uint32 `enum:"20"` // 宠物顶级战(新版)
|
||
CATCH_LENNY_GAME uint32 `enum:"21"` // 捕捉莱尼小游戏
|
||
PEAK_JIHAD_FREE uint32 `enum:"22"` // 巅峰圣战·自由战
|
||
PEAK_JIHAD_3V3 uint32 `enum:"23"` // 巅峰圣战·3V3
|
||
GOBLINKING_BATTLE uint32 `enum:"24"` // 哥布林王战斗
|
||
DOOM_FIGHT uint32 `enum:"25"` // 末日战斗
|
||
SHOW_ROUND uint32 `enum:"26"` // 展示回合(试玩/演示)
|
||
PEAK_JIHAD_6V6 uint32 `enum:"27"` // 巅峰圣战·6V6
|
||
PEAK_JIHAD_FREE_PLAN uint32 `enum:"28"` // 巅峰圣战·自由战(计划版)
|
||
PEAK_JIHAD_6V6_JJ uint32 `enum:"29"` // 巅峰圣战·6V6(竞技版)
|
||
WIZARDKING_BIGFIGHT uint32 `enum:"30"` // 法老王大战
|
||
QINGLONG_COMPLETE_FIGHT uint32 `enum:"83"` // 青龙全套战斗(修正原拼写:COMPLELETE → COMPLETE)
|
||
PEAK_JIHAD_FIGHT_WITH_FIGURE uint32 `enum:"87"` // 巅峰圣战·角色对战
|
||
PEAK_JIHAD_BIG_MELEE uint32 `enum:"88"` // 巅峰圣战·大乱斗
|
||
PEAK_JIHAD_LIMIT_AC uint32 `enum:"999"` // 巅峰圣战·限AC(账号类型限制)
|
||
}]()
|
||
|
||
// 玩家离线数据
|
||
type PlayerOfflineData struct {
|
||
// 可以根据需要添加字段
|
||
PlayerID int64
|
||
}
|
||
|
||
// 玩家逃脱数据
|
||
type PlayerEscapeData struct {
|
||
// 可以根据需要添加字段
|
||
PlayerID int64
|
||
}
|
||
|
||
// 玩家捕获成功数据
|
||
type PlayerCaptureSuccessData struct {
|
||
// 可以根据需要添加字段
|
||
CaptorID int64
|
||
TargetID int64
|
||
CaptureTime int64
|
||
}
|
||
|
||
// 默认结束数据
|
||
type DefaultEndData struct {
|
||
// 可以根据需要添加字段
|
||
Reason string
|
||
}
|
||
|
||
// 战斗模式
|
||
|
||
var Playerinvitemap map[uint32][]Playerinvite = make(map[uint32][]Playerinvite) //玩家邀请信息 ,比如一个玩家被多人邀请对战
|
||
|
||
type Playerinvite struct { //挂载到[]Playerinvite上? 被邀请者->邀请者
|
||
InviteID uint32 // 邀请者
|
||
InviteTime uint32 //游戏模式
|
||
}
|
||
|
||
// // 能力操作类型枚举
|
||
// type EnumAbilityOpType string
|
||
|
||
// var AbilityOpType = enum.New[struct {
|
||
// ADD EnumAbilityOpType `enum:"1"` // 能力增加(强化)
|
||
// SUB EnumAbilityOpType `enum:"2"` // 能力减少(弱化)
|
||
// COPY EnumAbilityOpType `enum:"3"` // 复制强化/弱化
|
||
// RESET EnumAbilityOpType `enum:"4"` // 能力重置
|
||
|
||
// StealStrengthen EnumAbilityOpType `enum:"6"` // 吸取强化
|
||
// Reverse EnumAbilityOpType `enum:"7"` // 反转强化/弱化
|
||
|
||
// BounceWeaken EnumAbilityOpType `enum:"10"` // 弹弱(反弹弱化效果)
|
||
// }]()
|