Commit Graph

656 Commits

Author SHA1 Message Date
5e3d558d30 ```
feat(player): 添加 UseCoins 方法统一处理玩家金币消耗逻辑

重构购买物品和变更外观功能,使用 UseCoins 方法替代手动操作 Coins 字段,
确保金币扣除的安全性和一致性。同时修复可能因并发导致的金币超扣问题。

此外,调整部分战斗系统接口参数传递方式,将 DamageZone 指
2025-11-13 21:36:18 +08:00
6e01848b04 ```
refactor(socket): 移除未使用的网络相关导入和注释掉的 RST 攻击检测逻辑

移除了 `ServerEvent.go` 中未使用的 `net` 和 `strings` 包导入。同时,
将原有的 RST 攻击检测及防护逻辑代码注释掉,便于后续重新设计或彻底删除。

fix(logic): 调整 fight pool 初始化与释放策略

将 `fight/action.go` 中的 `Fightpool` 类型从 `*ants.MultiPool`
改为 `*ants.Pool`,并调整其初始化方式为 `NewPool(-1)` 以适应动态扩容。
此外,在 `main.go` 中将 `ReleaseTimeout` 参数由 100 调整为 0,
确保立即清理超时任务。

feat(fight): 优化战斗输入状态重置逻辑

在 `fight/action.go` 的 `ReadyFight` 方法中提前设置
`GetInputByPlayer(c, false).Finished = true`,避免重复赋值。
同时更新了状态睡眠效果的处理流程,并简化了输入模块的状态缓存机制,
移除了冗余的 `Initeffectcache` 函数调用及相关逻辑。

perf(fight): 动态计算玩家动作等待时间

在 `loop.go` 的 `collectPlayerActions` 方法中,
将固定超时时间替换为基于 `waittime` 的动态等待时间计算公式,
提高响应灵活性。同时修复通道关闭判断条件以增强稳定性。

refactor(fight): 更新技能效果解析和状态持续逻辑

修改 `input.go` 中 `GenSataus` 方法以正确初始化状态数组;
在 `Turn.go` 中重构 `Turn_End` 方法内的执行逻辑,
确保仅在我方后手时增加回合数,提升战斗流程准确性。

chore(service): 删除废弃文件 SocketHandler_Tomee.go

完全移除已弃用的 `SocketHandler_Tomee.go` 文件及其全部内容,
减少项目冗余代码。
```
2025-11-13 05:05:05 +08:00
f281b949ba ```
feat(fight): 调整战斗逻辑与精灵切换机制

- 优化精灵切换时的效果处理,增加切换事件支持
- 修复战斗中超时逻辑和技能CD计算问题
- 增强状态效果在精灵上下场时的清理机制
- 修改伤害计算逻辑以提高准确性
- 更新战斗池初始化参数提升并发性能

此外,同步更新了宠物放生字段命名及逻辑处理方式,并调整网络通信中的限流策略。
```
2025-11-13 02:43:00 +08:00
45911dd23d Merge branch 'main' of github.com:72wo/blazing 2025-11-12 21:46:25 +08:00
0d61134dd8 fix(fight): 修复技能命中和伤害计算逻辑错误
- 修正 `Effect7` 中敌我双方血量判断逻辑,确保技能命中率和伤害值正确计算
- 调整 `FightC` 中技能攻击流程,统一使用 `Exec` 替代 `ExecCace` 执行效果
- 移除重复的 `AddEffects` 方法,简化效果添加逻辑
- 注释暂未使用的逻辑,避免无效调用影响战斗流程
- 增加战斗超时保护机制,防止协程泄漏
- 优化玩家离线保存逻辑
2025-11-12 21:44:56 +08:00
1
6c98a678ff fix(fight): 修复空变更提交问题 2025-11-12 13:44:21 +00:00
0b5cfac0b2 ```
feat(fight): 调整战斗逻辑与伤害计算流程

- 移除 `Over` 方法中的冗余回调参数 `fn`
- 修复部分技能效果中错误的伤害目标对象(Our/Opp)
- 优化战斗循环逻辑,使用 `over` channel 替代 `quit` 作为战斗结束信号
- 增加回合效果执行前的存活状态判断
- 修正伤害计算过程中对血量扣减的逻辑错误
-
2025-11-12 01:19:24 +08:00
1
a0a5163f13 fix(fight): 修复空变更提交问题 2025-11-11 15:21:45 +00:00
1
27b408eeec fix(fight): 修复空变更提交问题 2025-11-11 11:45:09 +00:00
1
d94cda883a fix(fight): 修复空变更提交问题 2025-11-11 08:28:18 +00:00
1
5548fb3d02 fix(fight): 修复空变更提交问题 2025-11-11 08:03:35 +00:00
1
a0905a59b4 提交 2025-11-11 06:23:59 +00:00
1
a1107b57eb fix(fight): 修复空变更提交问题 2025-11-11 06:23:55 +00:00
1
65758c799e fix(fight): 战斗修改 2025-11-11 05:54:24 +00:00
c6e0d84c1d fix(fight): 修复战斗池提交逻辑并调整初始配置
调整了 Fightpool 的初始化参数以减少资源占用,并优化了战斗循环的提交逻辑,
避免在池满时出现未处理的错误。同时添加了上下文日志记录以便调试。
2025-11-11 01:25:20 +08:00
da9286d3d8 ```
feat(fight): 调整技能效果命中逻辑与回合开始处理

- 修改了技能效果命中的判定顺序,确保暴击计算在效果添加之前执行
- 修复了回合开始时敌我双方状态结算的上下文错误
- 优化了效果缓存初始化逻辑,避免重复添加相同效果
- 增加了效果去重判断,防止完全相同的效果被重复添加
- 调整了战斗循环中结束逻辑的位置,确保广播和通道关闭正确执行
- 更新了部分日志提示信息,使其更符合实际业务含义
- 移除了部分无用代码和注释,提高
2025-11-11 01:10:26 +08:00
1
996e342459 fix(fight): 修复空变更提交问题 2025-11-10 10:25:18 +00:00
1
6aeb61afa1 fix(fight): 修复空变更提交问题 2025-11-10 09:42:50 +00:00
1
7505c85252 fix(fight): 修复空变更提交问题 2025-11-10 09:37:18 +00:00
1
7aff17033e fix(fight): 修复空变更提交问题 2025-11-10 09:29:13 +00:00
1
c41861fed0 fix(fight): 修复空变更提交问题 2025-11-10 08:57:09 +00:00
1
6cb091a4be fix(fight): 增加boss死亡逻辑 2025-11-10 08:25:40 +00:00
1
3b84572455 fix(fight): 修复空变更提交问题 2025-11-10 04:17:27 +00:00
1
b157d6bc40 fix(fight): 修复空变更提交问题 2025-11-10 03:08:09 +00:00
1
7653f6b583 fix(fight): 修复技能效果 2025-11-10 02:45:19 +00:00
1
9a434d55d7 fix(fight): 登录直接断开,战斗复制错误 2025-11-10 01:53:28 +00:00
6da7f0b3f0 ```
refactor(fight): 修改技能拷贝逻辑并优化战斗循环结构

- 将 `copyskill` 方法的参数类型从 `*info.SkillEntity` 改为 `*action.SelectSkillAction`
- 在 `copyskill` 中增加对 nil 的判断,避免空指针 panic
- 调整 `battleLoop` 中 defer 逻辑,确保资源正确释放和战斗结束信息发送
- 移动 `SendFightEndInfo` 到 defer 中执行,简化主循环逻辑
- 将 `Fightpool` 类型由 `*ants.Pool` 改为 `*
2025-11-10 03:23:32 +08:00
bfe4310caa ```
fix(fightc): 修复技能拷贝时随机数丢失的问题

将 copyskill 函数改为 FightC 的方法,并在拷贝后恢复随机数字段。
同时移除了调试用的 fmt.Println 日志输出。
```
2025-11-10 02:36:49 +08:00
4b34445dfc ```
refactor(fight): 重构战斗逻辑中技能实体传递方式

将战斗逻辑中使用的 action.SelectSkillAction 替换为 info.SkillEntity,
以统一技能数据结构。同时更新相关函数签名和字段引用。

此外,移除了未使用的 Attack 字段,并调整了部分逻辑实现以提高代码清晰度。
还修复了 effect_power_doblue.go 中对输入参数的错误引用问题。

最后,修改了通道命名规范(ActionChan -> actionChan, GetActionChan -> GetOverChan),
并引入 overchan 用于战斗结束通知,提升并发安全性与语义明确性。
```
2025-11-10 02:29:00 +08:00
1
a4041aaa66 ret阻断 2025-11-09 08:51:29 +00:00
1
742bcd8a3f 增加地图广播限制速率 2025-11-09 06:50:12 +00:00
1
de3fb29407 fix(fight): 修复空变更提交问题 2025-11-09 04:37:15 +00:00
1
d304955ffa fix(fight): 修复空变更提交问题 2025-11-09 03:06:18 +00:00
1
f3c5a5106c fix(fight): 修复空变更提交问题 2025-11-09 02:48:32 +00:00
1
51cd6636c4 fix(fight): 修复空变更提交问题 2025-11-09 02:47:39 +00:00
1
2d010e10af fix(fight): 修复睡眠,修改战斗伤害叠加逻辑 2025-11-09 02:29:21 +00:00
18dcae0a9b feat(logic/service/fight/effect): 修改技能效果触发逻辑
新增概率判定机制,使技能效果触发具有随机性。当概率判定失败时,直接返回 true,
不添加疲惫状态效果
2025-11-09 00:56:53 +08:00
fd6202b560 fix(logic/service/fight/input): 调整效果叠加逻辑以正确处理不可叠加状态
当 MaxStack 为 0 时,现在会正确地取消之前的效果,
而不是尝试进行叠加。同时优化了条件判断的结构,
确保逻辑更清晰且符合预期行为。
2025-11-09 00:19:20 +08:00
ffaa5520bf feat(effect_status): 添加寄生种子效果的前置处理逻辑
新增对寄生种子效果的特殊处理,当当前宠物类型为1时直接返回true,
避免执行父类扣血逻辑。此修改为实现寄生种子给对面回血buff做准备。
2025-11-08 23:26:10 +08:00
8b48ce1c06 ```
feat(fight): 调整技能与状态效果逻辑,优化战斗流程

- 注释掉状态 ID 13 的注册,暂不启用 DrainedHP 状态
- 为 Effect10 增加输入参数设置,标记目标单位
- 重构 Effect62 实现逻辑,新增子效果 Effect62_1 支持回合触发秒杀机制
- 引入 decimal 包以支持精确伤害计算
- 修改命中判断流程,修复部分技能命中异常问题
- 增加睡眠状态对空技能的防御处理
- 优化战斗死亡判定逻辑,支持同归于尽判定及战斗结束控制
2025-11-08 23:20:48 +08:00
4f421842f4 feat(effect): 新增吸血状态并重构部分技能效果逻辑
新增 PetStatus.DrainedHP 状态用于处理寄生种子等吸血效果,
重构 Effect96 与 DrainHP、DrainedHP 类型及相关接口方法。
统一将部分状态伤害逻辑移至 DrainHP 基类中,并修复睡眠状态
2025-11-08 19:48:59 +08:00
b864576ca9 fix(task): 修复任务奖励与宠物 2025-11-08 18:37:11 +08:00
c916440033 ```
feat(fight): 完善战斗系统中道具使用逻辑与血量恢复机制

- 修改 item.go 中 Item 结构体,将 Bonus 字段类型由 string
2025-11-08 16:38:41 +08:00
ca005bdb56 ```
feat(logic/service/fight/input/fight.go): 更新宠物治疗时的攻击值恢复

在宠物使用治疗技能时,同步更新攻击值的恢复量,确保治疗效果正确反映到战斗属性中。
```
2025-11-08 02:21:30 +08:00
a42bd76517 ```
feat(fight): 新增使用宠物物品功能

- 在Controller中新增UsePetItemInboundInfo方法,用于处理宠物物品使用请求
- 在FightI接口中添加UseItem方法定义,支持传入捕获时间和物品ID
- 修改UseItemAction结构体,增加CacthTime字段以记录宠物捕获时间
- 新增UsePetItemInboundInfo结构体,定义宠物物品使用的消息格式
- 在FightC中实现UseItem方法,将使用物品的动作发送到actionChan
```
2025-11-08 01:30:53 +08:00
cad3ad6913 ```
feat(pet): 新增宠物驳船列表功能并调整数据类型

新增 Controller 方法 PetBargeList 用于处理宠物驳船列表请求,
并修改 PetBargeListInboundInfo 和 PetBargeListInfo 中部分字段的数据类型
从 uint64 调整为 uint32。同时新增 PetBargeListOutboundInfo 结构体
用于响应数据的封装。
```
2025-11-08 01:12:53 +08:00
28bef2cf98 feat(fight): 调整精灵切换逻辑与属性计算流程
移除 OnOwnerSwitchIn 和 OnOwnerSwitchOut 接口定义及调用逻辑,
简化精灵切换时的效果触发机制。

调整 PetInfo 属性计算方法中 Hp 与 MaxHp 的赋值顺序,
确保初始化时 Hp 值正确设置。
2025-11-08 01:07:37 +08:00
06cd6199b0 ```
fix(fight): 修复战斗逻辑中技能解析和优先级判断的问题

调整了战斗回合开始前的技能解析逻辑,确保即使攻击被放弃也能正确施加效果。
修复了技能优先级相同时的速度比较逻辑,避免错误的角色交换。
优化了临时变量的使用,提高代码可读性。

fix(socket): 修复TCP连接处理中的类型断言问题

在处理TCP连接时增加类型断言检查,防止因上下文类型不匹配导致的panic。

fix(effect): 修正默认持续回合数的随机范围

将随机持续回合数从
2025-11-08 00:47:45 +08:00
0517447d9c ```
fix(common/rpc): 注释掉本地调试用的rpc地址配置

将原本用于本地调试的rpc地址配置注释掉,避免影响正式环境的rpc连接配置。
```
2025-11-07 23:22:00 +08:00
e2a184b687 feat(rpc): 优化客户端连接管理,使用 sync.Map 替代普通 map
将 `Clientmap` 从普通 map 改为 `sync.Map`,提升并发安全性。新增
`addClient` 和 `getClient` 方法封装存取逻辑,并在多处调用点进行了替换。

fix(fight): 修复战斗逻辑中技能ID与攻击时间字段引用错误

将 `attacker.AttackValue.SkillID` 和
`attacker.AttackValue.AttackTime` 的访问方式修正为正确的字段路径。

refactor(fight): 调整战斗结束信息处理流程

合并 `FightOverInfo` 结构到 `FightC` 中,简化广播发送逻辑,统一通过
`f.FightOverInfo` 发送战斗结果。

refactor(effect): 修改效果叠加判断逻辑并增强健壮性

更新效果节点比较方法,增加参数匹配检查以支持更精确的效果识别;同时添加
`equalInts` 工具函数用于数组内容对比。
2025-11-07 22:50:34 +08:00