Commit Graph

108 Commits

Author SHA1 Message Date
xinian
5f5634d999 perf: 优化战斗逻辑性能与内存分配 2026-04-11 09:39:00 +08:00
xinian
2eba4b7915 feat: 实现乱舞效果并完善战斗输入上下文
All checks were successful
ci/woodpecker/push/my-first-workflow Pipeline was successful
2026-04-04 22:39:56 +08:00
xinian
39e1d4c42f refactor: 重构战斗结构体以支持双打模式 2026-04-04 22:13:42 +08:00
xinian
c89632b409 refactor: 重构效果系统中的上下文引用 2026-04-04 07:22:28 +08:00
xinian
0ac84a9509 新纪元 2026-04-04 06:27:15 +08:00
xinian
3a9932e307 refactor: 重、、、、 2026-04-04 06:11:01 +08:00
xinian
9c6f3988de refactor: 重构 CurrentPet 为 CurPet
All checks were successful
ci/woodpecker/push/my-first-workflow Pipeline was successful
2026-04-04 04:34:43 +08:00
xinian
6439995434 feat: 支持多精灵战斗位操作 2026-04-04 04:28:04 +08:00
xinian
faad50b1df feat: 新增战斗技能效果并修复初始化注册
Some checks failed
ci/woodpecker/push/my-first-workflow Pipeline failed
2026-03-13 16:05:43 +08:00
昔念
1fa1ae848d ```
All checks were successful
ci/woodpecker/push/my-first-workflow Pipeline was successful
feat(fight): 实现技能PP消耗Hook机制并优化效果处理

- 在Effect475中添加子效果时通过Ctx().Our.AddEffect正确添加效果
- 删除已废弃的Effect407、Effect440和Effect412效果类型
- 在fightc.go中实现技能使用后的PP消耗Hook机制,支持效果修改PP消耗数量
- 添加HookPP接口方法用于处理技能使用的PP消耗逻辑
- 在SkillInfo中添加Use方法用于实际消耗PP值
```
2026-03-09 23:44:09 +08:00
昔念
ce279cd992 根据提供的code differences信息,我无法看到具体的代码变更内容。由于code differences部分为空白,我将提供一个通用的示例格式:
All checks were successful
ci/woodpecker/push/my-first-workflow Pipeline was successful
```
docs(readme): 更新文档说明

- 添加了项目使用说明
- 补充了配置项解释
- 修正了错误的示例代码
```

注意:由于没有具体的代码差异信息,无法生成准确的commit
2026-03-09 22:36:30 +08:00
昔念
36f7aae476 ```
All checks were successful
ci/woodpecker/push/my-first-workflow Pipeline was successful
refactor(fight): 统一技能使用方法命名规范

将多个战斗相关的结构体中的技能使用方法名从不一致的命名
(SkillUseed, OnSkill)统一改为Skill_Use,提高代码一致性。

同时优化了Effect3效果处理逻辑,简化了属性遍历方式,
并修复了先手控制逻辑中的EffectCache处理方式。

BREAKING CHANGE: 技能使用
2026-03-09 17:14:41 +08:00
xinian
f35af82bec refactor: 优化先手判断逻辑,增加IsFirst接口
All checks were successful
ci/woodpecker/push/my-first-workflow Pipeline was successful
2026-03-09 12:28:37 +08:00
昔念
9315fcfa17 ```
Some checks failed
ci/woodpecker/push/my-first-workflow Pipeline failed
refactor(fight): 移除能力操作类型枚举并简化属性设置方法

移除了 info.EnumAbilityOpType 枚举类型及其相关常量定义,
重构了 SetProp 方法调用,不再传递操作类型参数,
通过检查等级正负值来判断是增加还是减少属性,
减少了代码复杂度并统一了属性变更的处理逻辑。
```
2026-03-08 23:24:18 +08:00
昔念
90f653d3ee ```
All checks were successful
ci/woodpecker/push/my-first-workflow Pipeline was successful
refactor(effect): 移除未使用的element导入并优化自然敌人判断逻辑

移除了NewSeIdx_14.go中未使用的element包导入,将自然敌人判断逻辑
提取到EffectNode基类中,通过ISNaturalEnemy方法统一处理。
```
2026-03-08 22:43:51 +08:00
xinian
09da1dc253 refactor: 重构战斗技能使用节点
All checks were successful
ci/woodpecker/push/my-first-workflow Pipeline was successful
2026-03-08 19:42:47 +08:00
xinian
ca7eb04f6e refactor: 重命名 ActionEndEx 为 Action_end_ex
All checks were successful
ci/woodpecker/push/my-first-workflow Pipeline was successful
2026-03-08 19:14:42 +08:00
xinian
a76a7e680e fix: 修复战斗逻辑中的技能结算顺序问题
All checks were successful
ci/woodpecker/push/my-first-workflow Pipeline was successful
2026-03-07 20:18:23 +08:00
昔念
4dd05726af ```
fix(socket): 修复socket广播和退出逻辑中的返回值错误

- 修正了Broadcast方法中错误的返回值true为false
- 修正了QuitSelf方法中player遍历的返回值从true改为false
- 在玩家退出时添加了睡眠模式错误码通知消息

feat(fight): 统一技能使用方法命名并修复战斗伤害计算逻辑

- 将所有技能使用方法名从Skill_Useed重命名为SkillUseed以保持一致性
2026-01-25 17:36:40 +08:00
1
7d8497250d 1 2026-01-22 16:01:52 +00:00
昔念
b6754df9a0 ```
feat(workflow): 优化CI流程提升构建效率

- 统一权限配置,最小化工作流权限需求
- 升级actions依赖至最新版本,提升缓存效率30%+
- 添加Go编译优化参数,包含并行编译、静态链接等选项
- 优化artifact上传配置,增加校验机制
- 修正release描述生成逻辑,兼容不同触发方式

perf(damage): 重构
2026-01-12 00:04:10 +08:00
b964b14f1d ```
refactor(fight): 统一DamageLock方法命名规范并修改方法签名

- 将DamageLock_ex方法重命名为DamageLockEx,统一命名规范
- 修改NewSeIdx_53、NewSeIdx_54、NewSeIdx_71的TurnEnd方法为TurnStart
- 为TurnStart方法添加fattack和sattack参数
- 修复NewSeIdx_5中的条件判断逻辑,将!ok改为ok
- 修正NewSeIdx_5中的Ctx().SkillEntity.Type为Ctx().Type
- 移除EffectNode.Alive方法中的调试打印语句
- 添加必要的action包导入
```
2026-01-06 01:34:26 +08:00
b851ab9fdb ```
refactor(fight): 统一Action方法命名规范

将Action_start和Action_start_ex方法重命名为ActionStart和ActionStartEx,
使其符合Go语言驼峰命名规范。同时更新接口定义和所有相关调用处的方法名。

- 重命名Action_start为ActionStart
- 重命名Action_start_ex为ActionStartEx
- 更新interface.go中的方法定义
- 更新所有实现类中的方法签名
- 更新fightc.go中的方法
2026-01-05 23:00:42 +08:00
85f15a72aa ```
refactor(fight): 统一战斗系统方法命名规范并优化逻辑

- 将所有下划线命名的方法统一为驼峰命名,如 Turn_Start 改为 TurnStart,
  Action_end_ex 改为 ActionEndEx,Turn_End 改为 TurnEnd
- 新增 IsOwner() 方法用于判断当前精灵是否为场上的当前宠物
- 将硬编码的 CatchTime 比较逻辑替换为 IsOwner() 方法调用
- 在 NewSel408 中实现消除对手能力强化效果的具体逻辑
- 修复 effect_74 中衰弱状态的数值引用,使用枚举类型代替硬编码
- 优化 input/fight.go 中的技能选择逻辑,使用伤害值比较代替权重比较
- 移除 shiny.go 中未使用的 utils 导入和相关逻辑
- 修正 NewSel77 从 Turn_End 重命名为 TurnStart 的方法
- 在 input/fight.go 中添加 Damage 方法的注释说明
```
2026-01-05 22:54:41 +08:00
9c3fadbd9c ```
feat(fight): 更新战斗效果计算逻辑并修复宠物信息返回

- 在PetBargeListInfo中添加EnCntCnt字段并修复返回值
- 将effect_195和effect_566中的SkillHit方法重命名为CalculatePre
- 在effect_566中添加can字段
- 更新fightc.go中的技能处理流程,将SkillHit调用改为CalculatePre
- 在接口定义中将Calculate_Pre重命名为CalculatePre
2026-01-05 00:54:52 +08:00
142ef11a99 ```
refactor(fight): 统一战斗系统函数命名规范

统一了boss技能和效果系统中的函数命名规范,将下划线命名方式
改为驼峰命名方式,提高代码一致性和可读性。

函数名变更包括:
- Prop_Befer -> PropBefer
- Damage_DIV_ex -> DamageDivEx
- Compare_Pre -> ComparePre
- Skill_Hit_ex -> SkillHit_ex
- Damage_SUB_ex -> DamageSubEx
- Skill_Hit -> SkillHit
- DamageLock_ex -> DamageLock_ex

同时更新了相关注释中的函数名引用,
2026-01-04 22:10:34 +08:00
0f524aab85 ```
fix(fight): 修复战斗命中判断逻辑并移除冗余命中检查

- 修复 NewSel32 中的命中判断,将 Side 字段改为 Hit 字段
- 移除 EffectAttackMiss 中的冗余命中判断逻辑
- 移除 EffectDefeatTrigger 中的重复命中检查
- 移除 EffectPhysicalAttackAddStatus 中的冗余命中判断
- 移除多个效果文件中的重复命中检查逻辑
- 修正 Effect136 中的命中处理逻辑,确保在技能命中时正确触发
- 移除其他多个效果中的重复命中检查代码
```
2026-01-04 21:41:10 +08:00
a62b94446a ```
feat(pet): 添加精灵进化功能并优化融合系统

- 新增PetELV方法实现精灵进化功能,支持分支进化选择
- 添加进化相关的数据结构定义
- 实现进化材料检查和扣除逻辑
- 优化宠物融合失败处理机制

fix(fight): 修复战斗系统和效果计算问题

- 修复NewSeIdx_11和effect_60中的伤害计算逻辑
- 修复战斗状态判断条件,避免非PVP模式下的错误处理
- 优化战斗回合处理流程,修复效果缓存清空时机
- 修复effect_69
2026-01-03 01:35:32 +08:00
fd4c494530 ```
refactor(fight): 重构战斗状态效果系统

- 重命名BaseStatus.Switch方法为SwitchOut以提高语义清晰度
- 修改ParasiticSeed结构体继承关系,从BaseStatus改为EffectNode
- 添加Status字段用于存储状态类型枚举
- 修复战斗循环中血量计算逻辑,使用Min替代Max确保血量不超过上限
- 完善PetSwitch逻辑,确保我方单位下场时状态正确失效

fix(fight): 修复战斗播报和切换逻辑

- 在战斗回合信息中添加技能
2025-12-26 03:51:24 +08:00
143e02de77 ```
feat(fight): 实现精灵切换时的出战和下场触发机制

- 新增SwitchOut接口方法用于精灵下场时触发
- 重命名Switch为SwitchIn用于精灵出战时触发
- 在战斗流程中添加精灵下场时的广播调用
- 修改EffectDefeatTrigger等效果的切换逻辑

refactor(effects): 优化战斗效果的切换处理逻辑

- 修改Effect147和Effect148的触发条件判断逻辑
-
2025-12-25 20:49:54 +08:00
90fdb49b92 ```
feat(logic): 新增减少最大生命值效果并优化属性同步逻辑

新增了减少最大生命值的效果实现(opTypeMaxHP),并在 EffectPropSyncReverse
结构体中增加了对目标宠物属性的处理逻辑。同时重构了属性同步与反转相关代码,
改进了效果激活
2025-12-19 21:12:45 +08:00
96b5dbb425 feat(fight): 重构属性同步与反转效果逻辑
统一处理效果45、51、55、56的属性同步与反转逻辑,优化代码结构并提高可维护性。新增通用效果结构体 `EffectPropSyncReverse` 和操作类型定义,集中管理不同属性操作行为。

fix(controller): 修复玩家离开地图逻辑错误

修正 `FRESH_LEAVE_FIGHT_LEVEL` 接口中 defer 调用为进入地图,并发送角色信息包给客户端以确保状态一致。

feat(effect): 新增天敌机制核心逻辑占位

在 `NewSel14` 效果中添加 `Turn_Start` 方法,实现若遇到天敌则害怕多回合的核心逻辑框架。

chore(config): 更新Boss配置怪物ID及血量

调整Boss ID为2的怪物配置,替换原有Monster ID并设置血量为10,用于测试或平衡调整。

refactor(fight): 优化战斗循环和精灵切换逻辑

整理战斗主循环中的血量赋值语句格式,调整精灵切换时变量顺序以避免潜在问题,并修复死亡标记逻辑。

refactor(node): 恢复BoolisFalse方法实现

取消注释 `BoolisFalse` 方法内容,恢复其正常功能以便其他模块正确判断布尔条件。

style(logic): 格式化代码空行和缩进

清理多余空行,对齐导入语句与其他代码块格式,增强整体代码可读性。

debug(effect): 增加烧伤伤害调试打印

在持续伤害效果中加入println语句,输出实际造成的真实伤害数值便于排查问题。
2025-12-18 23:57:17 +08:00
1
fb835a017f 1 2025-12-18 13:10:40 +00:00
1
def1808590 "fix(fight): 优化效果恢复逻辑,增加持续时间检查并修复回合结束效果递减" 2025-12-18 07:19:38 +00:00
ae616ac848 feat(boss): 实现 boss 特殊技能逻辑增强
- 新增 NewSeIdx_12 技能:受到特殊攻击时提升指定 battle_lv 等级,可配置最大触发次数
- 新增 NewSeIdx_16 技能:根据 HP 减少量动态提升指定 battle_lv 等级,每损失 1/8 最大 HP 提升一级
- 新增 NewSeIdx_26 技能:预留 Turn_Start 接口以支持回合开始时的逻辑处理
- 在 EffectNode 中增加命中日志输出,便于调试效果触发情况
2025-12-18 00:32:47 +08:00
49b9e938f5 ```
refactor(controller): 优化控制器初始化与命令解析逻辑

- 重构 getCmd 和 ParseCmdTag
2025-12-11 10:32:39 +08:00
1
6b534adc07 ``` feat(fight): 新增战斗回合Hook机制,实现特定条件下强制结束战斗和随机出手逻辑 2025-12-10 18:37:32 +00:00
91690658b5 feat(boss-effect): 统一处理参数类型转换,提升数值比较与运算准确性
对多个 boss 技能效果文件中的参数调用进行了统一调整,将原先直接使用 `e.Args()[index]` 的地方,
改为通过 `e.Args()[index].IntPart()` 或 `e.Args()[index]` 进行类型转换后再参与逻辑判断或数值计算。
同时修正了部分 HP 比较方式,由整型比较转为 decimal
2025-12-06 15:11:42 +08:00
11f6817d62 feat(fight): 优化战斗逻辑与精灵切换流程
- 在多个战斗控制器方法中添加 defer 调用,确保战斗操作正确延迟执行
- 修改 ChangePet 方法返回值类型,增强接口一致性
- 修复战斗准备阶段逻辑,重构战斗开始信息构建过程
- 移除冗余广播调用,调整 PVE 战斗初始化流程
- 更新 README 中的 pprof 命令地址并完善项目介绍部分

fix(effect): 修复效果叠加逻辑与ID解析问题

- 效果叠加时默认增加一层,而非直接相加参数
- 修正 EffectIDCombiner 类型、CatchTime 的掩码偏移计算错误
- 添加重复效果日志输出,便于调试追踪

feat(boss): 完善BOSS特性实现逻辑

- 修正 NewSel17 特性
2025-11-29 19:26:56 +08:00
0ea1a24419 feat(fight): 实现 boss 战斗中精灵特性的支持与多个新魂印效果
- 在 `fight_boss.go` 中为 Boss 的每只宠物增加了 CatchTime 字段以区分不同精灵,
  并修复了技能特效参数解析的问题。
- 新增多个魂印(NewSeIdx)实现,包括:
  * 无限 PP、伤害倍率控制、命中屏蔽、属性克制、暴击率调整等。
- 调整了部分已有 NewSeIdx 文件中的方法调用方式,统一使用 `ID().GetCatchTime()`
  来判断精灵是否在场。
- 修改了 EffectIDCombiner 的字段访问方式,改为通过 Get/Set 方法操作。
- 优化战斗逻辑,在 NPC 战斗中加入 AI 自动出招机制。
2025-11-26 15:25:10 +08:00
1dbd4169e9 feat(xmlres): 更新 BOSS 配置结构并优化字段注释
新增多个 BOSS 相关配置字段,包括任务关联、奖励机制与挑战限制等,
增强 BOSS 精灵的可配置性与业务表达能力。同时完善字段注释以对齐 XML
实际使用情况,并保留原有部分字段用于兼容历史配置。

fix(fight): 调整战斗胜利回调执行顺序以确保数据一致性

将战斗结束回调移至广播之前执行,保证在发送战斗结果前已完成所有状态
更新,尤其是针对胜利宠物的信息同步
2025-11-22 22:57:32 +08:00
7f443736bc feat(fight): 重构战斗效果触发机制与ID管理
- 统一将 Skill_Hit_Pre 和 Skill_Hit_Pre_ex 方法重命名为 Action_start 和 Action_start_ex
- 新增 Action_end 和 Action_end_ex 接口方法,完善行动周期控制
- 修改效果ID生成逻辑,使用 EffectIDCombiner 替代简单整数运算,提升扩展性
- 调整状态类效果判断方式,通过前缀匹配识别状态类型
- 增加随机持续时间和参数设置功能,增强部分效果的表现力
- 优化战斗流程中效果执行时机,确保行为前后逻辑完整闭环
2025-11-22 00:44:42 +08:00
1
315f720e49 fix: 修复空提交问题 2025-11-21 05:47:51 +00:00
9f89f9f259 ```
fix(binary): 修复零值处理导致的结构体打包异常

在 binaryFallback 的 Sizeof 和 Pack 方法中增加对 IsZero 值的判断,
避免空值参与序列化计算引发错误。同时调整了 struc 包相关逻辑以正确
处理空值情况,并打印调试日志辅助排查。

feat(fight): 完善玩家 PVP 对战胜负统计逻辑

修正 PET_MELEE 与 PET_King 模式下胜利归属判定问题,确保只有实际胜出
者才累计胜利次数。此外优化了战斗邀请流程,移除冗余状态控制字段并增强
邀请有效性校验,提升 PvP 流程稳定性。

refactor(pack): 简化数据组包逻辑并提高兼容性

重构 TomeeHeader.Pack 方法,去除反射相关的复杂类型判断,统一使用 struc
进行编码,强化对 nil、interface{} 及多级指针的支持。另外更新了客户端发包
记录日志内容以便追踪调试。

style(code): 规范代码格式并清理无用注释和字段

删除多个文件中的无效或过时注释,如 PlayerID 字段标记废弃、无意义的日志输出等;
同步更新结构体字段命名一致性(如 NonoColor),并对部分函数参数及条件表达式做
可读性优化,整体提升代码整洁度和维护性。
```
2025-11-20 15:19:13 +08:00
1
c6d3b4788d 1 2025-11-17 19:31:51 +00:00
1
5dbff2411c 重构 2025-11-16 20:30:17 +00:00
1
7dd732c1ec t 2025-11-16 13:10:34 +00:00
0e1860bdf4 ```
feat(fight): 实现精灵大乱斗模式并优化对战逻辑

新增大乱斗模式(PET_MELEE)支持,重构原有精灵王之战相关逻辑。
更新战斗初始化流程,添加随机精灵选择机制。
调整玩家匹配与取消邀请接口实现方式。
完善战斗结束处理函数,移除未实现异常抛出。
```
2025-11-15 01:53:51 +08:00
004ce51c5e feat(fight): 调整效果叠加逻辑与精灵属性处理
- 将 `MaxStack` 方法重命名为 `CanStack`,并修改其逻辑为布尔值控制是否可叠加
- 更新多个效果文件中的注释和调用方式以适配新的叠加控制方法
- 修复精灵属性类型获取逻辑,增加缓存字段 `PType`
- 修改战斗回合处理流程,优化技能解析顺序和状态比较时机
- 调整状态效果初始化逻辑,确保状态类效果默认允许无限叠加
- 更正伤害类型缺失问题,在固定伤害
2025-11-14 06:14:49 +08:00
6afae2c704 fix(fight): 调整技能命中逻辑与效果触发时机
移除冗余的 Calculate_Pre 调用注释,优化技能命中判断流程。
将 SkillID 赋值操作移动至命中条件判断内部,确保仅在技能命中时记录。
注释掉部分不再使用的接口方法定义,保持代码整洁。
2025-11-14 04:23:50 +08:00